diff --git a/.github/workflows/docker_publish.yaml b/.github/workflows/docker_publish.yaml
index 53ec505003..9f3f3d6912 100644
--- a/.github/workflows/docker_publish.yaml
+++ b/.github/workflows/docker_publish.yaml
@@ -13,6 +13,9 @@ jobs:
steps:
- name: Check out repo
uses: actions/checkout@v2
+ - name: Check Release tag
+ run: |
+ python3 ci/check_version_number.py ${{ github.event.release.tag_name }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
diff --git a/InvenTree/InvenTree/helpers.py b/InvenTree/InvenTree/helpers.py
index 628fd2e646..319b88cb09 100644
--- a/InvenTree/InvenTree/helpers.py
+++ b/InvenTree/InvenTree/helpers.py
@@ -344,13 +344,15 @@ def GetExportFormats():
]
-def DownloadFile(data, filename, content_type='application/text'):
- """ Create a dynamic file for the user to download.
+def DownloadFile(data, filename, content_type='application/text', inline=False):
+ """
+ Create a dynamic file for the user to download.
Args:
data: Raw file data (string or bytes)
filename: Filename for the file download
content_type: Content type for the download
+ inline: Download "inline" or as attachment? (Default = attachment)
Return:
A StreamingHttpResponse object wrapping the supplied data
@@ -365,7 +367,10 @@ def DownloadFile(data, filename, content_type='application/text'):
response = StreamingHttpResponse(wrapper, content_type=content_type)
response['Content-Length'] = len(data)
- response['Content-Disposition'] = 'attachment; filename={f}'.format(f=filename)
+
+ disposition = "inline" if inline else "attachment"
+
+ response['Content-Disposition'] = f'{disposition}; filename={filename}'
return response
diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py
index 839780d5b4..3924a516f3 100644
--- a/InvenTree/common/models.py
+++ b/InvenTree/common/models.py
@@ -926,6 +926,20 @@ class InvenTreeUserSetting(BaseInvenTreeSetting):
'validator': bool,
},
+ "LABEL_INLINE": {
+ 'name': _('Inline label display'),
+ 'description': _('Display PDF labels in the browser, instead of downloading as a file'),
+ 'default': True,
+ 'validator': bool,
+ },
+
+ "REPORT_INLINE": {
+ 'name': _('Inline report display'),
+ 'description': _('Display PDF reports in the browser, instead of downloading as a file'),
+ 'default': False,
+ 'validator': bool,
+ },
+
'SEARCH_PREVIEW_RESULTS': {
'name': _('Search Preview Results'),
'description': _('Number of results to show in search preview window'),
@@ -965,7 +979,10 @@ class InvenTreeUserSetting(BaseInvenTreeSetting):
@classmethod
def get_filters(cls, key, **kwargs):
- return {'key__iexact': key, 'user__id': kwargs['user'].id}
+ return {
+ 'key__iexact': key,
+ 'user__id': kwargs['user'].id
+ }
class PriceBreak(models.Model):
diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py
index b2d17efdfe..2ee8445d2e 100644
--- a/InvenTree/label/api.py
+++ b/InvenTree/label/api.py
@@ -109,10 +109,13 @@ class LabelPrintMixin:
else:
pdf = outputs[0].get_document().write_pdf()
+ inline = common.models.InvenTreeUserSetting.get_setting('LABEL_INLINE', user=request.user)
+
return InvenTree.helpers.DownloadFile(
pdf,
label_name,
- content_type='application/pdf'
+ content_type='application/pdf',
+ inline=inline
)
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index 44a7718c51..80ae21817c 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -36,7 +36,7 @@ msgstr "Datum eingeben"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr "Bestätigen"
@@ -68,36 +68,36 @@ msgstr "Neues Passwort bestätigen"
msgid "Select Category"
msgstr "Kategorie auswählen"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Doppelte Seriennummer: {n}"
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr "Keine gültige Menge"
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr "Keine Seriennummer angegeben"
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Ungültige Gruppe: {g}"
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Doppelte Seriennummer: {g}"
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr "Keine Seriennummern gefunden"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen"
@@ -110,7 +110,7 @@ msgstr "Anhang"
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr "Kommentar"
@@ -118,10 +118,10 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr "Benutzer"
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr "Ungültige Auswahl"
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr "Name"
@@ -147,19 +148,22 @@ msgstr "Name"
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr "Beschreibung"
@@ -171,81 +175,81 @@ msgstr "Beschreibung (optional)"
msgid "parent"
msgstr "Eltern"
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
-msgstr ""
+msgstr "Griechisch"
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
-msgstr ""
+msgstr "Spanisch"
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
-msgstr ""
+msgstr "Hebräisch"
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
-msgstr ""
+msgstr "Italienisch"
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
-msgstr ""
+msgstr "Japanisch"
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
-msgstr ""
+msgstr "Koreanisch"
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
-msgstr ""
+msgstr "Niederländisch"
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
-msgstr ""
+msgstr "Norwegisch"
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
-msgstr ""
+msgstr "Russisch"
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
-msgstr ""
+msgstr "Schwedisch"
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
-msgstr ""
+msgstr "Thailändisch"
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr "Türkisch"
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
-msgstr ""
+msgstr "Vietnamesisch"
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
-msgstr ""
+msgstr "Chinesisch"
#: InvenTree/status.py:94
msgid "Background worker check failed"
@@ -368,7 +372,7 @@ msgstr "Vom übergeordneten Element geteilt"
msgid "Split child item"
msgstr "Unterobjekt geteilt"
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr "Zum Kunden geschickt"
@@ -428,27 +432,27 @@ msgstr "Überschuss darf 100% nicht überschreiten"
msgid "Overage must be an integer value or a percentage"
msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein"
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr "Element löschen"
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen"
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr "Benutzerinformationen bearbeiten"
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr "Passwort eingeben"
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr "Passwörter stimmen nicht überein"
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr "Systeminformationen"
@@ -505,8 +509,8 @@ msgstr "geplantes Bestelldatum"
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr "Zieldatum"
@@ -518,7 +522,7 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr "Anzahl"
@@ -555,7 +560,7 @@ msgstr "Anzahl der zu bauenden Teile"
msgid "Enter quantity for build output"
msgstr "Menge der Endprodukte angeben"
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr "Seriennummer"
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr "Bauauftrag als vollständig markieren"
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr "Lagerort"
@@ -601,11 +606,11 @@ msgstr "Lagerort der Endprodukte"
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr "Status"
@@ -644,7 +649,7 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag"
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr "Bauauftrag"
@@ -655,8 +660,8 @@ msgstr "Bauauftrag"
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr "Bauaufträge"
@@ -666,11 +671,12 @@ msgstr "Bauauftragsreferenz"
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr "Referenz"
@@ -694,10 +700,10 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr "Teil"
@@ -758,7 +764,7 @@ msgstr "Fertiggestellte Teile"
msgid "Number of stock items which have been completed"
msgstr "Anzahl der fertigen BestandsObjekte"
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr "Bauauftrags-Status"
@@ -774,8 +780,8 @@ msgstr "Losnummer"
msgid "Batch code for this build output"
msgstr "Losnummer für dieses Endprodukt"
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr "Erstelldatum"
@@ -783,7 +789,7 @@ msgstr "Erstelldatum"
msgid "Target completion date"
msgstr "geplantes Fertigstellungsdatum"
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
@@ -791,7 +797,7 @@ msgstr "Fertigstellungsdatum"
msgid "completed by"
msgstr "Fertiggestellt von"
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr "Aufgegeben von"
@@ -802,8 +808,9 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat"
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr "Verantwortlicher Benutzer"
@@ -814,12 +821,12 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist"
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr "Externer Link"
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
@@ -832,16 +839,16 @@ msgstr "Link zu einer externen URL"
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr "Notizen"
@@ -891,8 +898,8 @@ msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr "Ausgewähltes BestandsObjekt nicht Stückliste für Teil '{p}' gefunden"
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr "Bauauftrag"
@@ -903,11 +910,11 @@ msgstr "Bauauftrag starten um Teile zuzuweisen"
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr "BestandsObjekt"
@@ -932,8 +939,9 @@ msgstr "Ziel-BestandsObjekt"
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr "Seriennummer"
@@ -985,7 +993,7 @@ msgstr "Lagerbestand wurde Bauauftrag noch nicht vollständig zugewiesen"
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr "Admin"
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr "Überfällig"
@@ -1028,6 +1037,10 @@ msgstr "Bauauftrag bearbeiten"
msgid "Cancel Build"
msgstr "Bauauftrag abbrechen"
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr "Fortschritt"
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr "Auftrag"
@@ -1160,7 +1174,7 @@ msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden."
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr "Ziel-Lager"
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr "Ziel-Lagerort nicht angegeben"
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr "Losnummer"
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr "Erstellt"
@@ -1185,7 +1201,7 @@ msgstr "Erstellt"
msgid "No target date set"
msgstr "Kein Ziel-Datum gesetzt"
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr "Fertig"
@@ -1209,7 +1225,7 @@ msgstr "Lagerbestand Bauauftrag zuweisen"
msgid "Auto Allocate"
msgstr "Automatisch zuweisen"
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr "Bestandszuordnung aufheben"
@@ -1290,7 +1306,7 @@ msgstr "Bauauftrags-Notizen"
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr "Anmerkungen bearbeiten"
@@ -1298,7 +1314,7 @@ msgstr "Anmerkungen bearbeiten"
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr "Anhang hinzufügen"
@@ -1307,7 +1323,7 @@ msgstr "Anhang hinzufügen"
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr "Anhang bearbeiten"
@@ -1315,7 +1331,7 @@ msgstr "Anhang bearbeiten"
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr "Löschvorgang bestätigen"
@@ -1323,7 +1339,7 @@ msgstr "Löschvorgang bestätigen"
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr "Anhang löschen"
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr "Bauauftrag-details"
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr "Details"
@@ -1401,7 +1417,7 @@ msgstr "Endprodukt anlegen"
msgid "Maximum output quantity is "
msgstr "Maximale Endproduktmenge ist "
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
@@ -1417,7 +1433,7 @@ msgstr "Endprodukt entfernen"
msgid "Confirm unallocation of build stock"
msgstr "Entfernung von Bestands-Zuordnung bestätigen"
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr "Bestätigungsbox bestätigen"
@@ -1485,8 +1501,9 @@ msgstr "Teil muss aktuell im Bestand sein"
msgid "Stock item is over-allocated"
msgstr "BestandObjekt ist zu oft zugewiesen"
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr "Verfügbar"
@@ -1522,7 +1539,7 @@ msgstr "Fehler beim Lesen der Datei (falsche Größe)"
msgid "Error reading file (data could be corrupted)"
msgstr "Fehler beim Lesen der Datei (Daten könnten beschädigt sein)"
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr "Datei"
@@ -1539,524 +1556,546 @@ msgstr "{name.title()} Datei"
msgid "Select {name} file to upload"
msgstr "{name} Datei zum Hochladen auswählen"
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr "Einstellungs-Wert"
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr "Wahrheitswert erforderlich"
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr "Schlüsseltext muss eindeutig sein"
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr "InvenTree Instanzname"
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr "Kurze Beschreibung der Instanz"
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr "Name der Instanz verwenden"
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr "Den Namen der Instanz in der Titelleiste verwenden"
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr "Firmenname"
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr "interner Firmenname"
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr "Basis-URL"
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr "Basis-URL für dieses Instanz"
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr "Standardwährung"
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr "Standardwährung"
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr "Von URL herunterladen"
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt"
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr "Bacode-Feature verwenden"
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr "Barcode-Scanner Unterstützung"
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr "RegEx Muster für die Zuordnung von Teil-IPN"
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr "Ändern von IPN erlaubt"
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt"
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr "Teil-Stückliste kopieren"
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird "
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr "Teil-Parameter kopieren"
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr "Teil-Testdaten kopieren"
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr "Kategorie-Parametervorlage kopieren"
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr "Vorlage"
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr "Baugruppe"
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr "Komponente"
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr "Kaufbar"
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr "Verkäuflich"
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr "Virtuell"
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr "Teile sind grundsätzlich virtuell"
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr "Import in Ansichten anzeigen"
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr "Importassistent in einigen Teil-Ansichten anzeigen"
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr "Preis in Formularen anzeigen"
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr "Teilpreis in einigen Formularen anzeigen"
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr "Verwandte Teile anzeigen"
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr "Verwandte Teile eines Teils anzeigen"
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr "Ausgangsbestand erstellen"
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen"
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr "Interne Preise"
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr "Interne Preise für Teile aktivieren"
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr "Interner Preis als Stückliste-Preis"
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden"
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr "Seitengröße"
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr "Test-Berichte"
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr "Erstellung von Test-Berichten aktivieren"
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr "Tage"
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr "Gruppieren nach Teil"
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr "Bestand in Tabellen anhand von Teil-Referenz gruppieren"
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr "Bauauftrag-Referenz Präfix"
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr "Präfix für Bauauftrag-Referenz"
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr "Bauauftrag-Referenz RegEx"
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen"
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr "Auftrags-Referenz Präfix"
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr "Präfix für Auftrags-Referenz"
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr "Bestellungs-Referenz Präfix"
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr "Präfix für Bestellungs-Referenz"
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
-msgstr ""
+msgstr "Markierte Teile anzeigen"
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
-msgstr ""
+msgstr "Zeige markierte Teile auf der Startseite"
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
-msgstr ""
+msgstr "Neueste Teile anzeigen"
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
-msgstr ""
+msgstr "Zeige neueste Teile auf der Startseite"
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
-msgstr ""
+msgstr "Nicht validierte Stücklisten anzeigen"
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
-msgstr ""
+msgstr "Neueste Lagerbestand Änderungen anzeigen"
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
-msgstr ""
+msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite"
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
-msgstr ""
+msgstr "Niedrigen Bestand anzeigen"
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
-msgstr ""
+msgstr "Zeige geringen Lagerbestand auf der Startseite"
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
-msgstr ""
+msgstr "Benötigten Bestand anzeigen"
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
-msgstr ""
+msgstr "Zeige Bestand für Bauaufträge auf der Startseite"
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
-msgstr ""
+msgstr "Abgelaufenen Bestand anzeigen"
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
-msgstr ""
+msgstr "Zeige Abgelaufene Lagerbestände auf der Startseite"
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
-msgstr ""
+msgstr "Ausstehende Bauaufträge anzeigen"
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
-msgstr ""
+msgstr "Zeige ausstehende Bauaufträge auf der Startseite"
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
-msgstr ""
+msgstr "Zeige überfällige Bauaufträge"
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
-msgstr ""
+msgstr "Zeige überfällige Bauaufträge auf der Startseite"
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
-msgstr ""
+msgstr "Ausstehende POs anzeigen"
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
-msgstr ""
+msgstr "Ausstehende POs auf der Startseite anzeigen"
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
-msgstr ""
+msgstr "Überfällige POs anzeigen"
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
-msgstr ""
+msgstr "Überfällige POs auf der Startseite anzeigen"
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
-msgstr ""
+msgstr "Ausstehende SOs anzeigen"
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
-msgstr ""
+msgstr "Ausstehende SOs auf der Startseite anzeigen"
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
-msgstr ""
+msgstr "Überfällige SOs anzeigen"
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
+msgstr "Überfällige SOs auf der Startseite anzeigen"
+
+#: common/models.py:930
+msgid "Inline label display"
msgstr ""
-#: common/models.py:854
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr "Anzahl Suchergebnisse"
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr "Anzahl der Ergebnisse, die in der Vorschau angezeigt werden sollen"
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr "Preis"
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr "Standard"
@@ -2078,23 +2117,23 @@ msgstr "Angegebener Wert muss ein Wahrheitswert sein"
#: common/views.py:138
msgid "Change User Setting"
-msgstr ""
+msgstr "Benutzereinstellungen ändern"
#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
#: order/templates/order/po_navbar.html:19
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr "Datei hochgeladen"
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr "Übereinstimmende Felder"
@@ -2122,11 +2161,11 @@ msgstr "Teile importiert"
msgid "Previous Step"
msgstr "Vorheriger Schritt"
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr "URL"
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr "Bild-URL"
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr "Firmenbeschreibung"
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr "Website"
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr "Anlaufstelle"
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr "Link"
@@ -2191,7 +2230,7 @@ msgstr "Link"
msgid "Link to external company information"
msgstr "Link auf externe Firmeninformation"
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr "Bild"
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr "Standard-Währung für diese Firma"
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr "Basisteil"
@@ -2240,9 +2279,10 @@ msgstr "Teil auswählen"
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr "Hersteller"
@@ -2253,7 +2293,8 @@ msgstr "Hersteller auswählen"
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr "MPN"
@@ -2272,7 +2313,7 @@ msgstr "Teilbeschreibung des Herstellers"
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr "Herstellerteil"
@@ -2283,8 +2324,8 @@ msgstr "Parametername"
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr "Wert"
@@ -2292,8 +2333,8 @@ msgstr "Wert"
msgid "Parameter value"
msgstr "Parameterwert"
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr "Einheiten"
@@ -2305,9 +2346,9 @@ msgstr "Parametereinheit"
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr "Zulieferer"
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr "Notiz"
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr "Basiskosten"
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr "Verpackungen"
@@ -2361,7 +2402,7 @@ msgstr "Verpackungen"
msgid "Part packaging"
msgstr "Teile-Verpackungen"
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr "Vielfache"
@@ -2379,7 +2420,7 @@ msgstr "Währungscode"
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr "Firma"
@@ -2393,7 +2434,8 @@ msgstr "Neues Bild hochladen"
msgid "Download image from URL"
msgstr "Bild von URL herunterladen"
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr "Bestellung anlegen"
@@ -2420,14 +2462,14 @@ msgstr "Telefon"
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr "Kunde"
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr "Bild hochladen"
@@ -2439,13 +2481,12 @@ msgstr "Zuliefererteile"
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr "Neues Zuliefererteil anlegen"
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr "Neues Zuliefererteil"
@@ -2498,8 +2539,8 @@ msgstr "Zulieferer-Bestand"
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr "Bestellungen"
@@ -2522,8 +2563,8 @@ msgstr "Neue Bestellung"
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr "Aufträge"
@@ -2540,7 +2581,8 @@ msgstr "Neuer Auftrag"
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr "Zugeordneter Bestand"
@@ -2550,13 +2592,13 @@ msgstr "Firmenbemerkungen"
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr "Zuliefererteil entfernen?"
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr "Alle ausgewählten Zulieferteile werden gelöscht"
@@ -2567,17 +2609,17 @@ msgstr "Zulieferer-Liste"
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr "Teil bestellen"
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr "Herstellerteil bearbeiten"
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr "Herstellerteil löschen"
@@ -2607,7 +2649,7 @@ msgstr "Zuliefererteil entfernen"
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr "Löschen"
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr "Parameter löschen"
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr "Parameter hinzufügen"
@@ -2658,10 +2700,11 @@ msgstr "Herstellerteil-Bestand"
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr "Lagerbestand"
@@ -2690,23 +2733,25 @@ msgstr "Zuliefererteile"
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr "Teilbestand"
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr "Zuliefererteil"
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr "Zuliefererteil bearbeiten"
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr "Zuliefererteil entfernen"
@@ -2736,7 +2781,7 @@ msgstr "Preisinformationen ansehen"
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr "Preisstaffel hinzufügen"
@@ -2744,11 +2789,11 @@ msgstr "Preisstaffel hinzufügen"
msgid "No price break information found"
msgstr "Keine Informationen zur Preisstaffel gefunden"
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr "Preisstaffel löschen"
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr "Preisstaffel bearbeiten"
@@ -2798,20 +2843,20 @@ msgstr "Firmen"
msgid "New Company"
msgstr "Neue Firma"
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr "Bild herunterladen"
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr "Bildgröße überschreitet maximal-erlaubte Größe für Downloads"
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "Ungültige Antwort {code}"
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr "Angegebene URL ist kein gültiges Bild"
@@ -2827,7 +2872,7 @@ msgstr "Label Name"
msgid "Label description"
msgstr "Label Beschreibung"
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr "Label"
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr "Firma bei der die Teile bestellt werden"
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr "Zulieferer-Referenz"
@@ -3014,7 +3059,7 @@ msgstr "Bestellreferenz"
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Zieldatum für Auftrags-Fertigstellung."
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr "Versanddatum"
@@ -3038,15 +3083,16 @@ msgstr "Position - Referenz"
msgid "Line item notes"
msgstr "Position - Notizen"
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr "Bestellung"
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr "Bestellung"
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr "Preis"
@@ -3181,14 +3228,13 @@ msgstr "Bestellung bearbeiten"
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr "Neuer Lagerort"
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr "Neuen Lagerort anlegen"
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr "Bestellungen auswählen oder anlegen."
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr "Positionen"
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr "Summe"
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr "Stück-Preis"
@@ -3443,16 +3489,16 @@ msgstr "Berichte drucken"
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen"
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr "Teile"
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr "Bestellnummer"
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr "Bestellt"
@@ -3493,7 +3539,8 @@ msgstr "Packliste"
msgid "Sales Order Details"
msgstr "Auftragsdetails"
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr "Kundenreferenz"
@@ -3516,18 +3563,19 @@ msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar i
msgid "Sales Order Items"
msgstr "Auftrags-Positionen"
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr "Aktionen"
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr "Bestands-Zuordnung bearbeiten"
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr "Bestands-Zuordnung löschen"
@@ -3539,8 +3587,8 @@ msgstr "Keine passenden Positionen gefunden"
msgid "ID"
msgstr "ID"
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr "Zugeordnet"
@@ -3556,7 +3604,8 @@ msgstr "PO"
msgid "Allocate serial numbers"
msgstr "Seriennummern zuweisen"
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr "Lagerbestand zuweisen"
@@ -3564,8 +3613,8 @@ msgstr "Lagerbestand zuweisen"
msgid "Purchase stock"
msgstr "Lagerbestand kaufen"
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr "Lagerbestand bauen"
@@ -3765,524 +3814,500 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert"
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr "Standard-Lagerort"
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr "Verfügbarer Lagerbestand"
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr "Dateiformat"
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr "Ausgabe-Dateiformat auswählen"
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr "Kaskadierend"
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr "Kaskadierende Stückliste herunterladen"
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr "Ebenen"
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr "Maximale Anzahl an Ebenen für Stückliste-Export auswählen (0 = alle Ebenen)"
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr "Parameter-Daten einschließen"
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr "Teil-Parameter in Stückliste-Export einschließen"
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr "Bestand einschließen"
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr "Teil-Bestand in Stückliste-Export einschließen"
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr "Herstellerdaten einschließen"
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr "Teil-Herstellerdaten in Stückliste-Export einschließen"
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr "Zulieferer einschließen"
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr "Zulieferer-Daten in Stückliste-Export einschließen"
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr "Ausgangsteil"
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr "Teil für Stücklisten-Kopie auswählen"
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr "Stücklisten-Position(en) löschen"
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr "Kopie von Stückliste bestätigen"
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr "kontrollieren"
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr "Bestätigen, dass die Stückliste korrekt ist"
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr "verknüpftes Teil"
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr "Teil-Kategorie wählen"
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr "Stückliste für dieses Teil kopieren"
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr "Stückliste kopieren"
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr "Alle Parameter-Daten für dieses Teil kopieren"
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr "Parameter kopieren"
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr "Erstellen des Teils bestätigen"
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr "Kategorie Parameter-Vorlage einschließen"
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr "Über-Kategorie Parameter-Vorlage einschließen"
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr "Anfangsbestand"
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr "Bestand für dieses Teil erstellen"
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr "Parameter-Vorlage zu Kategorien dieser Ebene hinzufügen"
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen"
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr "Untergeordnetes Teil"
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr "Menge für die Preisberechnung"
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr "Standard-Lagerort für Teile dieser Kategorie"
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr "Standard Stichwörter"
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr "Teil-Kategorien"
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr "Ungültige Auswahl für übergeordnetes Teil"
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)"
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr "Nächste verfügbare Seriennummern wären"
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr "Nächste verfügbare Seriennummer ist"
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr "Die neuste Seriennummer ist"
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr "Name des Teils"
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr "Ist eine Vorlage"
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr "Variante von"
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr "Beschreibung des Teils"
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr "Kategorie"
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr "Teile-Kategorie"
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr "Revision"
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr "Standard Zulieferer"
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr "Standard Zuliefererteil"
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr "Standard Ablaufzeit"
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr "Ablauf-Zeit (in Tagen) für Lagerbestand dieses Teils"
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr "Minimaler Lagerbestand"
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Lagerbestand"
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr "Stock Keeping Units (SKU) für dieses Teil"
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?"
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr "Aktiv"
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?"
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr "Bemerkungen - unterstüzt Markdown-Formatierung"
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr "Stückliste kontrolliert von"
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr "BOM Kontrolldatum"
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden"
-#: part/models.py:2159
+#: part/models.py:2097
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:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:2198
+#: part/models.py:2136
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:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?"
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr "Wert"
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr "Untergeordnetes Teil"
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr "Optional"
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt"
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Lagerbestand von Varianten kann für diese Stücklisten-Position verwendet werden"
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr "Stücklisten-Position"
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?"
@@ -4333,7 +4358,7 @@ msgstr "Stückliste bearbeiten"
msgid "Validate Bill of Materials"
msgstr "Stückliste kontrollieren"
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr "Stückliste exportieren"
@@ -4386,7 +4411,7 @@ msgstr "Damit wird jede Zeile der Stückliste kontrolliert"
msgid "All parts"
msgstr "Alle Teile"
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr "Teil-Kategorie anlegen"
@@ -4432,7 +4457,7 @@ msgstr "Exportieren"
msgid "Create new part"
msgstr "Neues Teil anlegen"
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr "Neues Teil"
@@ -4460,35 +4485,13 @@ msgstr "Rasteransicht anzeigen"
msgid "Part Parameters"
msgstr "Teilparameter"
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr "Neuen Lagerort anlegen"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
+msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr "Neue Kategorie"
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr "Teil-Kategorie anlegen"
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr "Neue Teil-Kategorie anlegen"
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr "Neuen Lagerort erstellen"
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr "Übergeordnete Kategorie auswählen"
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
-msgstr "Teil-Kategorie bearbeiten"
+#: part/templates/part/category.html:279
+msgid "Create Part"
+msgstr ""
#: part/templates/part/category_delete.html:5
msgid "Are you sure you want to delete category"
@@ -4530,7 +4533,7 @@ msgstr "Wenn diese Kat. gelöscht wird, werden diese Teile in die oberste Kat. v
msgid "Import Parts"
msgstr "Teile importieren"
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr "Teil duplizieren"
@@ -4649,42 +4652,42 @@ msgstr "Ausgewählte Stücklistenpositionen löschen?"
msgid "All selected BOM items will be deleted"
msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht"
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
-msgstr "Neues Teil anlegen"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
+msgstr "Stücklisten-Position anlegen"
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr "Testergebnis-Vorlage hinzufügen"
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr "Testergebnis-Vorlage bearbeiten"
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr "Testergebnis-Vorlage löschen"
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr "Teilenotizen bearbeiten"
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
-msgstr "Einzelpreis - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
+msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
-msgstr "Einzelpreisdifferenz - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
+msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
-msgstr "Einzelpreis für Zuliefererteil- %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
+msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr "Stückpreis - %(currency)s"
@@ -4718,138 +4721,149 @@ msgstr "Testvorlagen"
msgid "Part List"
msgstr "Teileliste"
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr "Inaktiv"
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr "Teil ist virtuell (kein physisches Teil)"
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr "Teil ist Vorlage (Varianten können von diesem Teil erstellt werden)"
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr "Teil kann aus anderen Teilen angefertigt werden"
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr "Teil kann in Baugruppen benutzt werden"
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr "Teil wird per Seriennummer verfolgt"
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr "Teil kann von externen Zulieferern gekauft werden"
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr "Teil kann an Kunden verkauft werden"
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr "Teil ist virtuell (kein physisches Teil)"
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr "Inaktiv"
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr "Teil favorisieren"
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr "Barcode Aktionen"
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "QR-Code anzeigen"
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr "Label drucken"
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr "Kosteninformationen ansehen"
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr "Bestands-Aktionen"
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr "Lagerbestand zählen"
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr "Teilbestand verschieben"
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr "Teile Aktionen"
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr "Teil duplizieren"
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr "Teil bearbeiten"
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr "Teil löschen"
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr "letzte Seriennummer"
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr "Dies ist ein virtuelles Teil"
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr "Dieses Teil ist eine Variante von %(link)s"
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr "Auf Lager"
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr "Für Bauaufträge benötigt"
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr "Benötigt für Aufträge"
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr "Zu Bauaufträgen zugeordnet"
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr "Herstellbar"
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr "Im Bau"
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr "letzte Seriennummer"
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr "Berechnen"
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr "Zulieferer-Preise"
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr "Gesamtkosten"
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr "Keine Zulieferer-Preise verfügbar"
@@ -4960,7 +4975,7 @@ msgstr "Verkaufspreis anzeigen"
msgid "Calculation parameters"
msgstr "Berechnungsparameter"
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr "Zuliefererkosten"
@@ -4982,7 +4997,7 @@ msgstr "Für dieses Teil sind keine Bestandspreise verfügbar."
msgid "Internal Cost"
msgstr "Interne Kosten"
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar."
msgid "Set category for the following parts"
msgstr "Kategorie für Teile setzen"
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr "Kein Bestand"
@@ -5024,148 +5039,128 @@ msgstr "Neue Variante von Vorlage anlegen '%(full_name)s'."
msgid "Unknown database"
msgstr "Unbekannte Datenbank"
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr "verknüpftes Teil hinzufügen"
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr "verknüpftes Teil entfernen"
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr "Teil-Kategorie auswählen"
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr "Kategorie für {n} Teile setzen"
-#: part/views.py:247
-msgid "Create Variant"
-msgstr "Variante anlegen"
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr "Teil kopiert"
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr "Übereinstimmung gefunden - Teil trotzdem anlegen"
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr "Neues Teil angelegt"
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr "Referenzen zuteilen"
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr "Kein(e)"
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr "Teil-QR-Code"
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr "Teilbild auswählen"
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr "Teilbild aktualisiert"
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr "Teilbild nicht gefunden"
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr "Stückliste duplizieren"
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr "bestätige Duplizierung Stückliste von übergeordneter Stückliste"
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr "Stückliste überprüfen"
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr "Bestätigen, dass Stückliste korrekt ist"
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr "überprüfte Stückliste"
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr "Teile zuordnen"
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr "Löschen des Teils bestätigen"
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr "Teil wurde gelöscht"
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr "Teilbepreisung"
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr "Teilparametervorlage anlegen"
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr "Teilparametervorlage bearbeiten"
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr "Teilparametervorlage löschen"
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr "Teil-Kategorie bearbeiten"
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr "Teil-Kategorie löschen"
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr "Teil-Kategorie wurde gelöscht"
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr "Kategorieparametervorlage anlegen"
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr "Kategorieparametervorlage bearbeiten"
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr "Kategorieparametervorlage löschen"
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr "Stücklisten-Position anlegen"
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr "Stücklisten-Position bearbeiten"
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr "neue Preisstaffel hinzufügt"
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr "Ergebnis"
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr "Datum"
@@ -5335,60 +5330,57 @@ msgstr "Gültiger Standort muss angegeben werden"
msgid "Moved {n} parts to {loc}"
msgstr "{n} Teile nach {loc} bewegt"
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr "Ablaufdatum"
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr "Ablaufdatum für dieses BestandsObjekt"
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr "Eindeutige Seriennummern eingeben (oder leer lassen)"
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr "Lagerort für serial"
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr "Seriennummern"
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr "Anzahl der eindeutigen Seriennummern (muss mit der Anzahl übereinstimmen)"
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr " Transaktionsnotizen hinzufügen (optional)"
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr "Test Bericht Vorlage auswählen"
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr "BestandsObjekt zum verbauen"
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr "Bestandmenge zum Zuweisen"
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr "Anzahl darf die verfügbare Anzahl nicht überschreiten"
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr "Ziel Lagerort für unverbaute Objekte"
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr "nicht mehr verbauen bestätigen"
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr "Entfernen der verbauten BestandsObjekt bestätigen"
@@ -5453,7 +5445,7 @@ msgstr "Wo wird dieses Teil normalerweise gelagert?"
msgid "Packaging this stock item is stored in"
msgstr "Die Verpackung dieses BestandsObjekt ist gelagert in"
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr "verbaut in"
@@ -5560,7 +5552,7 @@ msgstr "Anhang muss für diesen Test hochgeladen werden"
msgid "Test name"
msgstr "Name des Tests"
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr "Testergebnis"
@@ -5613,30 +5605,37 @@ msgstr "Test-Bericht"
msgid "Installed Stock Items"
msgstr "Installierte BestandsObjekte"
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr "BestandsObjekt installiert"
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr "Testergebnis hinzufügen"
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr "Testergebnis bearbeiten"
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr "Testergebnis löschen"
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr "abgelaufen"
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr "überfällig"
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr "Barcode abhängen"
@@ -5686,127 +5685,137 @@ msgstr "Kunden zuweisen"
msgid "Return to stock"
msgstr "zu Bestand zurückgeben"
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr "BestandsObjekt deinstallieren"
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr "Deinstallieren"
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr "in Variante ändern"
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr "BestandsObjekt duplizieren"
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr "BestandsObjekt bearbeiten"
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr "BestandsObjekt löschen"
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern."
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr "Dieses BestandsObjekt wird gerade hergestellt und kann nicht geändert werden."
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr "Ändern des BestandsObjekts in der Bauauftrag-Ansicht."
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr "Dieses BestandsObjekt hat nicht alle Tests bestanden"
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr "Dieses BestandsObjekt ist dem Auftrag %(link)s zugewiesen (Menge: %(qty)s)"
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr "Dieses BestandsObjekt ist dem Bauauftrag %(link)s zugewiesen (Menge: %(qty)s)"
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr "Dieses BestandsObjekt ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden."
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr "Dieses BestandsObjekt kann nicht gelöscht werden, da es Kinder besitzt"
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr "Dieses BestandsObjekt wird automatisch gelöscht wenn der Lagerbestand aufgebraucht ist."
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr "BestandsObjekt-Details"
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr "vorherige Seite"
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr "nächste Seite"
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr "Kein Lagerort gesetzt"
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr "Barcode-Bezeichner"
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr "Elternposition"
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr "Kein Hersteller ausgewählt"
-#: stock/templates/stock/item_base.html:397
+#: stock/templates/stock/item_base.html:399
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Dieses BestandsObjekt lief am %(item.expiry_date)s ab"
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:401
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Dieses BestandsObjekt läuft am %(item.expiry_date)s ab"
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr "Letzte Inventur"
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr "Keine Inventur ausgeführt"
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr "Tests"
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr "Speichern"
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr "Bestandsstatus bearbeiten"
@@ -5819,21 +5828,38 @@ msgstr "Sind Sie sicher, dass Sie dieses BestandsObjekt löschen wollen?"
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr "Damit werden %(qty)s Elemente vom Bestand von %(full_name)s entfernt."
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
-msgstr "Ein weiteres BestandsObjekt in dieses Teil installiert"
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
+msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "BestandsObjekte können nur installiert werden wenn folgende Kriterien erfüllt werden"
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
-msgstr "Das BestandsObjekt ist auf ein Teil verknüpft das in der Stückliste für dieses BestandsObjekt ist"
-
#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
-msgstr "Dieses BestandsObjekt ist aktuell vorhanden"
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
+msgstr ""
#: stock/templates/stock/item_serialize.html:5
msgid "Create serialized items from this stock item."
@@ -5903,6 +5929,10 @@ msgstr "Druck Aktionen"
msgid "Print labels"
msgstr "Label drucken"
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr "Neuen Lagerort anlegen"
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?"
@@ -5939,7 +5969,7 @@ msgstr "Lade..."
msgid "The following stock items will be uninstalled"
msgstr "Die folgenden BestandsObjekte werden nicht mehr verbaut"
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr "BestandsObjekt umwandeln"
@@ -5960,103 +5990,104 @@ msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr "Sind Sie sicher, dass Sie diesen BestandsObjekt-Verfolgungs-Eintrag löschen wollen?"
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr "BestandsObjekt-Lagerort bearbeiten"
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr "Eigentümer notwendig (Eigentümerkontrolle aktiv)"
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr "QR-Code für diesen Lagerort"
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr "Kunden zuweisen"
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr "Kunde muss angegeben werden"
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr "zurück ins Lager"
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr "gültigen Lagerort angeben"
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr "BestandsObjekt retoure vom Kunden"
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr "alle Testdaten löschen"
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr "Löschen Testdaten bestätigen"
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr "BestandsObjekt-QR-Code"
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr "BestandsObjekt installiert"
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr "BestandsObjekte deinstallieren"
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr "Bestands-Anpassung bestätigen"
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr "BestandsObjekte deinstalliert"
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr "BestandsObjekt bearbeiten"
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr "Neuen Lagerort erstellen"
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr "Lagerbestand erfassen"
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr "Neues BestandsObjekt hinzufügen"
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr "Bestand duplizieren"
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr "Anzahl kann nicht negativ sein"
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr "Bestand-Lagerort löschen"
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr "BestandsObjekt löschen"
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag löschen"
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag bearbeiten"
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr "Lagerbestands-Tracking-Eintrag hinzufügen"
@@ -6140,11 +6171,11 @@ msgstr "Suchergebnisse"
msgid "Enter a search query"
msgstr "Eine Sucheanfrage eingeben"
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr "an Kunde versand"
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr "Kein Lagerort gesetzt"
@@ -6186,7 +6217,7 @@ msgstr "Jetzt aktualisieren"
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
-msgstr ""
+msgstr "Server Einstellungen"
#: templates/InvenTree/settings/header.html:7
msgid "Setting"
@@ -6205,46 +6236,57 @@ msgstr "Konto"
#: templates/InvenTree/settings/navbar.html:21
#: templates/InvenTree/settings/navbar.html:23
msgid "Home Page"
-msgstr ""
+msgstr "Startseite"
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr "Suche"
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr "Einstellungen"
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr "InvenTree-Einstellungen"
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
+#: templates/InvenTree/settings/navbar.html:59
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
msgid "Server"
msgstr "Server"
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
+#: templates/InvenTree/settings/navbar.html:65
+#: templates/InvenTree/settings/navbar.html:67
msgid "Barcodes"
-msgstr ""
+msgstr "Barcodes"
-#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
msgid "Currencies"
msgstr "Währungen"
-#: templates/InvenTree/settings/navbar.html:65
-#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr "Berichte"
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr "Kategorien"
@@ -6268,25 +6310,12 @@ msgstr "Teil importieren"
msgid "Part Parameter Templates"
msgstr "Teil-Parametervorlage"
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr "Keine Teilparametervorlagen gefunden"
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr "Vorlage bearbeiten"
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr "Vorlage löschen"
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr "Bestellungs-Einstellungen"
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr "Berichts-Einstellungen"
@@ -6298,10 +6327,24 @@ msgstr "Kein Wert angegeben"
msgid "Edit setting"
msgstr "Einstellungen ändern"
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr "Keine Kategorie-Parametervorlagen gefunden"
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr "Vorlage bearbeiten"
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr "Vorlage löschen"
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr "Keine Teilparametervorlagen gefunden"
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr "Auftrags-Einstellungen"
@@ -6312,7 +6355,7 @@ msgstr "Bestands-Einstellungen"
#: templates/InvenTree/settings/user.html:9
msgid "Account Settings"
-msgstr ""
+msgstr "Kontoeinstellungen"
#: templates/InvenTree/settings/user.html:15
msgid "Edit"
@@ -6345,18 +6388,40 @@ msgstr "Anzeige-Einstellungen"
#: templates/InvenTree/settings/user.html:63
msgid "Set Theme"
-msgstr ""
+msgstr "Design auswählen"
#: templates/InvenTree/settings/user.html:70
msgid "Language Settings"
+msgstr "Spracheinstellung"
+
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr "Sprache festlegen"
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
+msgstr "Startseite-Einstellungen"
+
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
msgstr ""
#: templates/InvenTree/settings/user_search.html:9
@@ -6427,9 +6492,10 @@ msgstr "In die Zwischenablage kopieren"
msgid "copy version information"
msgstr "Versionsinformationen kopieren"
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr "Schliessen"
@@ -6449,1234 +6515,1326 @@ msgstr "Der angegebene Server muss erreichbar sein"
msgid "Remote image must not exceed maximum allowable file size"
msgstr "Das Bild darf nicht größer als die maximal-erlaubte Größe sein"
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr "Keine Antwort"
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr "keine Antwort vom InvenTree Server"
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr "Fehler 400: Fehlerhafte Anfrage"
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr "Fehler-Code 400 zurückgegeben"
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr "Fehler 401: Nicht Angemeldet"
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr "Authentication Kredentials nicht angegeben"
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr "Fehler 403: keine Berechtigung"
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr "Fehlende Berechtigung für diese Aktion"
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr "Fehler 404: Ressource nicht gefunden"
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden"
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr "Fehler 408: Zeitüberschreitung"
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr "Verbindungszeitüberschreitung bei der Datenanforderung"
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr "Unbehandelter Fehler-Code"
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr "Fehler-Code"
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr "Keine Anhänge gefunden"
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr "Hochladedatum"
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr "Anhang bearbeiten"
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr "Anhang löschen"
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr "Hier den Barcode scannen"
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr "Barcode-Daten eingeben"
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr "Barcode"
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr "Optionale Notizen zu Bestandsübertragung eingeben"
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr "Notizen eingeben"
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr "Server-Fehler"
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr "Unbekannte Antwort von Server erhalten"
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr "Ungültige Antwort von Server"
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr "Barcode unterhalb scannen"
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr "keine URL in der Antwort"
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr "Barcode mit BestandsObjekt verknüpfen"
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr "Dadurch wird die Verknüpfung zwischen diesem BestandsObjekt und dem Barcode entfernt"
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr "Entfernen"
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr "BestandsObjekt entfernen"
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr "BestandsObjekte in Lagerort buchen"
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr "Einbuchen"
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr "Fehler bei Bestandsübertragung"
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr "BestandsObjekte bereits gescannt"
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr "BestandsObjekt besteht bereits in diesem Lagerort"
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr "BestandsObjekt hinzugefügt"
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr "Barcode entspricht keinem BestandsObjekt"
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr "In Lagerorten buchen"
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr "Barcode entspricht keinem Lagerort"
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr "Unterbaugruppe öffnen"
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr "Kaufpreisspanne"
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr "Durchschnittlicher Kaufpreis"
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr "Kaufpreis"
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr "Keine Preisinformation verfügbar"
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr "Stückliste anzeigen"
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr "Stücklisten-Position kontrollieren"
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr "Diese Position wurde kontrolliert"
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr "Stücklisten-Position bearbeiten"
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr "Stücklisten-Position löschen"
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr "Keine Stücklisten-Position(en) gefunden"
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr "Bauauftrag bearbeiten"
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr "Bauauftrag erstellen"
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr "Teilbestand automatisch Endprodukt zuweisen"
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr "Bestand von Endpordukt zurücknehmen"
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr "Endprodukt fertigstellen"
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr "Endprodukt entfernen"
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr "Standort nicht angegeben"
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr "Neues BestandsObjekt"
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr "benötigtes Teil"
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr "Anzahl pro"
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr "Bestand bestellen"
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr "Keine Bauaufträge passen zur Anfrage"
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr "Auswählen"
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr "Bauauftrag ist überfällig"
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr "Keine Benutzerinformation"
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr "Zuständig"
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr "Keine Information"
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr "Keine Teile zugeordnet zu"
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr "Herstellerteil hinzufügen"
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr "Herstellerteil ändern"
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr "Herstellerteil löschen"
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr "Zuliefererteil hinzufügen"
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr "Zuliefererteil bearbeiten"
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr "Zuliefererteil entfernen"
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr "Firma bearbeiten"
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr "Neue Firma hinzufügen"
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr "Teile geliefert"
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr "Hersteller-Teile"
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr "Keine Firmeninformation gefunden"
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr "Die folgenden Herstellerteile werden gelöscht"
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr "Herstellerteile löschen"
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr "Keine Herstellerteile gefunden"
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr "Vorlagenteil"
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr "Baugruppe"
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr "Keine Parameter gefunden"
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr "Parameter bearbeiten"
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr "Parameter löschen"
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr "Parameter bearbeiten"
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr "Parameter löschen"
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr "Keine Zuliefererteile gefunden"
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr "ja"
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr "nein"
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr "Filter auswählen"
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr "Filter hinzufügen"
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr "Filter entfernen"
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr "Filter anlegen"
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr "Aktion verboten"
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr "Erstellvorgang nicht erlaubt"
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr "Updatevorgang nicht erlaubt"
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr "Löschvorgang nicht erlaubt"
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr "Anzeigevorgang nicht erlaubt"
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr "Fehler in Formular"
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr "Suche"
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr "Eingabe leeren"
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr "BestandsObjekte auswählen"
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr "BestandsObjekt(e) müssen ausgewählt sein bevor Labels gedruckt werden können"
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr "Keine Labels gefunden"
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr "Keine Labels die zu BestandsObjekt(e) passen gefunden"
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr "Bestands-Lagerort auswählen"
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr "Bestands-Lagerort(e) müssen ausgewählt sein um Labels zu drucken"
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr "Keine Labels für die ausgewählten Bestands-Lagerort(e) gefunden"
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr "Teile auswählen"
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr "Teile(e) müssen ausgewählt sein bevor Labels gedruckt werden können"
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr "Keine Labels zu den ausgewählten Teilen gefunden"
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr "BestandsObjekte ausgewählt"
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr "Label auswählen"
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr "Label-Vorlage auswählen"
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr "Abbrechen"
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr "Abschicken"
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr "Formulartitel"
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr "Warte auf Server..."
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr "Fehler-Informationen anzeigen"
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr "Akzeptieren"
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr "Lade Daten"
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr "ungültige Antwort vom Server"
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr "Formulardaten fehlen bei Serverantwort"
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr "Formulardaten fehlerhaft"
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr "JSON Antwort enthält keine Formulardaten"
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr "Fehler 400: Ungültige Anfrage"
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr "Fehler 400 von Server erhalten"
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr "Fehler bei Formulardaten-Anfrage"
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr "Firmen-ID"
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr "Standort-ID"
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr "Bauauftrag-ID"
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr "Teil-ID"
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr "Kategorie-ID"
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr "Herstellerteil-ID"
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr "Zuliefererteil-ID"
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr "Auftrag anlegen"
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr "Keine Bestellungen gefunden"
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr "Bestellung überfällig"
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr "Keine Aufträge gefunden"
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr "Ungültiger Kunde"
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr "JA"
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr "NEIN"
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr "Neue Teil-Kategorie anlegen"
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr "Teil bearbeiten"
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr "Nachverfolgbares Teil"
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr "virtuelles Teil"
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr "Favoritenteil"
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr "Verkäufliches Teil"
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr "Keine Varianten gefunden"
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr "Keine Teile gefunden"
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr "Keine Kategorie"
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr "Bestand niedrig"
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr "Pfad"
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr "Keine zur Anfrage passenden Testvorlagen"
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr "Testergebnis bearbeiten"
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr "Testergebnis löschen"
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr "Dieses Testergebnis ist für ein Hauptteil"
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr "Keine ${human_name} Informationen gefunden"
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr "${human_name} bearbeiten"
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr "${human_name} löschen"
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr "Einzelpreis"
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr "Einzelpreisdifferenz"
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr "BestandsObjekt ausgewählt"
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr "Bericht-Vorlage auswählen"
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr "Test-Bericht-Vorlage auswählen"
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr "BestandsObjekte auswählen"
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr "BestandsObjekt(e) müssen vor dem Berichtsdruck ausgewählt werden"
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr "Keine Berichte gefunden"
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr "Keine Berichtsvorlagen für ausgewählte BestandsObjekt(e) gefunden"
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr "Bauauftrag auswählen"
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr "Bauauftrag muss vor dem Berichtsdruck ausgewählt werden"
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr "Keine Berichtvorlagen für ausgewählten Bauauftrag gefunden"
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr "Teile auswählen"
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr "Teil muss vor dem Berichtsdruck ausgewählt werden"
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr "Keine Berichtvorlagen für ausgewählte Teile gefunden"
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr "Bestellungen auswählen"
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr "Bestellung muss vor dem Berichtsdruck ausgewählt werden"
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr "Keine Berichtvorlagen für ausgewählte Bestellungen gefunden"
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr "Aufträge auswählen"
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden"
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr "Keine Antwort"
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr "keine Antwort vom InvenTree Server"
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr "Fehler 400: Fehlerhafte Anfrage"
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr "Fehler-Code 400 zurückgegeben"
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr "Fehler 401: Nicht Angemeldet"
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr "Authentication Kredentials nicht angegeben"
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr "Fehler 403: keine Berechtigung"
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr "Fehlende Berechtigung für diese Aktion"
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr "Fehler 404: Ressource nicht gefunden"
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden"
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr "Fehler 408: Zeitüberschreitung"
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr "Verbindungszeitüberschreitung bei der Datenanforderung"
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr "Unbehandelter Fehler-Code"
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr "Fehler-Code"
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr "Keine Anhänge gefunden"
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr "Hochladedatum"
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr "Anhang bearbeiten"
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr "Anhang löschen"
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr "Hier den Barcode scannen"
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr "Barcode-Daten eingeben"
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr "Barcode"
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr "Optionale Notizen zu Bestandsübertragung eingeben"
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr "Notizen eingeben"
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr "Server-Fehler"
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr "Unbekannte Antwort von Server erhalten"
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr "Ungültige Antwort von Server"
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr "Barcode unterhalb scannen"
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr "keine URL in der Antwort"
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr "Barcode mit BestandsObjekt verknüpfen"
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr "Dadurch wird die Verknüpfung zwischen diesem BestandsObjekt und dem Barcode entfernt"
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr "Entfernen"
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr "BestandsObjekt entfernen"
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr "BestandsObjekte in Lagerort buchen"
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr "Einbuchen"
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr "Fehler bei Bestandsübertragung"
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr "BestandsObjekte bereits gescannt"
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr "BestandsObjekt besteht bereits in diesem Lagerort"
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr "BestandsObjekt hinzugefügt"
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr "Barcode entspricht keinem BestandsObjekt"
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr "In Lagerorten buchen"
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr "Barcode entspricht keinem Lagerort"
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr "Unterbaugruppe öffnen"
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr "Kaufpreisspanne"
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr "Durchschnittlicher Kaufpreis"
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr "Stückliste anzeigen"
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr "Stücklisten-Position kontrollieren"
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr "Diese Position wurde kontrolliert"
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr "Stücklisten-Position bearbeiten"
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr "Stücklisten-Position löschen"
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr "Keine Stücklisten-Position(en) gefunden"
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr "Bauauftrag bearbeiten"
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr "Bauauftrag erstellen"
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr "Teilbestand automatisch Endprodukt zuweisen"
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr "Bestand von Endpordukt zurücknehmen"
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr "Endprodukt fertigstellen"
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr "Endprodukt entfernen"
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr "Standort nicht angegeben"
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr "Neues BestandsObjekt"
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr "benötigtes Teil"
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr "Anzahl pro"
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr "Bestand bestellen"
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr "Keine Bauaufträge passen zur Anfrage"
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr "Auswählen"
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr "Bauauftrag ist überfällig"
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr "Keine Benutzerinformation"
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr "Keine Information"
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr "Keine Teile zugeordnet zu"
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr "Herstellerteil hinzufügen"
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr "Herstellerteil ändern"
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr "Herstellerteil löschen"
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr "Zuliefererteil hinzufügen"
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr "Zuliefererteil bearbeiten"
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr "Zuliefererteil entfernen"
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr "Firma bearbeiten"
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr "Neue Firma hinzufügen"
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr "Teile geliefert"
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr "Hersteller-Teile"
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr "Keine Firmeninformation gefunden"
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr "Die folgenden Herstellerteile werden gelöscht"
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr "Herstellerteile löschen"
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr "Keine Herstellerteile gefunden"
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr "Vorlagenteil"
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr "Baugruppe"
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr "Keine Parameter gefunden"
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr "Parameter bearbeiten"
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr "Parameter löschen"
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr "Parameter bearbeiten"
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr "Parameter löschen"
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr "Keine Zuliefererteile gefunden"
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr "ja"
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr "nein"
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr "Filter auswählen"
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr "Filter hinzufügen"
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr "Filter entfernen"
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr "Filter anlegen"
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr "Aktion verboten"
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr "Erstellvorgang nicht erlaubt"
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr "Updatevorgang nicht erlaubt"
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr "Löschvorgang nicht erlaubt"
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr "Anzeigevorgang nicht erlaubt"
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr "Fehler in Formular"
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr "Suche"
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr "Eingabe leeren"
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr "BestandsObjekt(e) müssen ausgewählt sein bevor Labels gedruckt werden können"
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr "Keine Labels gefunden"
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr "Keine Labels die zu BestandsObjekt(e) passen gefunden"
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr "Bestands-Lagerort auswählen"
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr "Bestands-Lagerort(e) müssen ausgewählt sein um Labels zu drucken"
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr "Keine Labels für die ausgewählten Bestands-Lagerort(e) gefunden"
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr "Teile(e) müssen ausgewählt sein bevor Labels gedruckt werden können"
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr "Keine Labels zu den ausgewählten Teilen gefunden"
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr "BestandsObjekte ausgewählt"
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr "Label auswählen"
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr "Label-Vorlage auswählen"
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr "Abschicken"
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr "Formulartitel"
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr "Warte auf Server..."
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr "Fehler-Informationen anzeigen"
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr "Akzeptieren"
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr "Lade Daten"
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr "ungültige Antwort vom Server"
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr "Formulardaten fehlen bei Serverantwort"
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr "Formulardaten fehlerhaft"
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr "JSON Antwort enthält keine Formulardaten"
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr "Fehler 400: Ungültige Anfrage"
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr "Fehler 400 von Server erhalten"
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr "Fehler bei Formulardaten-Anfrage"
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr "Firmen-ID"
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr "Standort-ID"
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr "Bauauftrag-ID"
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr "Teil-ID"
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr "Kategorie-ID"
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr "Herstellerteil-ID"
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr "Zuliefererteil-ID"
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr "Auftrag anlegen"
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr "Keine Bestellungen gefunden"
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr "Bestellung überfällig"
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr "Keine Aufträge gefunden"
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr "Ungültiger Kunde"
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr "JA"
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr "NEIN"
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr "Stückliste kopieren"
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr "Parameter kopieren"
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr "Teil bearbeiten"
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr "Nachverfolgbares Teil"
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr "virtuelles Teil"
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr "Favoritenteil"
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr "Verkäufliches Teil"
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr "Keine Varianten gefunden"
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr "Keine Teile gefunden"
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr "Keine Kategorie"
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr "Bestand niedrig"
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr "Pfad"
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr "Keine zur Anfrage passenden Testvorlagen"
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr "Testergebnis bearbeiten"
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr "Testergebnis löschen"
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr "Dieses Testergebnis ist für ein Hauptteil"
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr "Keine ${human_name} Informationen gefunden"
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr "${human_name} bearbeiten"
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr "${human_name} löschen"
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr "Einzelpreis"
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr "Einzelpreisdifferenz"
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr "Bestand exportieren"
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr "Format"
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr "Dateiformat auswählen"
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr "Bestand verschieben"
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr "Verschieben"
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr "Bestand zählen"
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr "Anzahl"
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr "Bestand entfernen"
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr "Entfernen"
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr "Bestand hinzufügen"
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr "Hinzufügen"
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr "Bestand löschen"
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden"
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr "Bestandsanzahl angeben"
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr "Sie müssen mindestens einen Lagerbestand auswählen"
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr "Zielstandort auswählen"
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr "ERFOLGREICH"
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr "FEHLGESCHLAGEN"
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr "KEIN ERGEBNIS"
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr "Testergebnis hinzufügen"
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr "Keine Testergebnisse gefunden"
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr "Testdatum"
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr "In Arbeit"
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr "In BestandsObjekt installiert"
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr "Auftrag zugewiesen"
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr "Keine zur Anfrage passenden BestandsObjekte"
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr "Teile"
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr "lose"
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr "Lagerorte"
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr "unbekannter Lagerort"
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr "BestandsObjekt wird produziert"
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr "BestandsObjekt wurde Auftrag zugewiesen"
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr "BestandsObjekt wurde Kunden zugewiesen"
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr "BestandsObjekt ist abgelaufen"
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr "BestandsObjekt läuft demnächst ab"
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr "BestandsObjekt zugewiesen"
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr "BestandsObjekt in anderem Element verbaut"
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr "BestandsObjekt abgewiesen"
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr "BestandsObjekt verloren"
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr "BestandsObjekt zerstört"
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr "gelöscht"
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr "Inventur"
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr "Status"
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr "Status setzen"
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr "Status Code setzen"
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr "Status Code muss ausgewählt werden"
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr "Ungültiges Datum"
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr "Standort nicht mehr vorhanden"
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr "Bestellung existiert nicht mehr"
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr "Kunde existiert nicht mehr"
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr "Lagerbestand existiert nicht mehr"
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr "Hinzugefügt"
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr "Entfernt"
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr "Tracking-Eintrag bearbeiten"
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr "Tracking-Eintrag löschen"
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr "Keine installierten Elemente"
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr "Seriennummer"
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr "Lagerbestand entfernen"
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr "Nachverfolgbares Teil"
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr "überprüft"
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr "Bestand an Varianten zulassen"
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr "Unter-Lagerorte einschließen"
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr "Lagerorte einschließen"
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr "Unterkategorien einschließen"
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr "Hat Seriennummer"
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr "Seriennummer >="
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr "Seriennummer größer oder gleich"
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr "Seriennummer <="
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr "Seriennummern kleiner oder gleich"
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr "Seriennummer"
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr "Losnummer"
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr "Aktive Teile"
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr "Bestand aktiver Teile anzeigen"
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr "Teil ist eine Baugruppe"
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr "Ist zugeordnet"
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr "Teil wurde zugeordnet"
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr "Bestand in Unter-Lagerorten einschließen"
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr "Zeige aufgebrauchte BestandsObjekte"
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr "Zeige abgelaufene BestandsObjekte"
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr "Bestand, der bald ablaufen, anzeigen"
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr "Zeige Objekte welche im Lager sind"
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr "In Arbeit"
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr "Elemente, die in Produktion sind, anzeigen"
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr "Varianten einschließen"
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr "BestandsObjekte für Teil-Varianten einschließen"
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr "Installiert"
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr "BestandsObjekte, die in anderen Elementen verbaut sind, anzeigen"
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr "zeige zu Kunden zugeordnete Einträge"
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr "Status"
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr "Hat Einkaufspreis"
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr "Zeige abgelaufene BestandsObjekte"
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr "Bestand, der bald ablaufen, anzeigen"
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr "Bauauftrags-Status"
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr "Bestellstatus"
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr "ausstehend"
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr "Teile in Unterkategorien einschließen"
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr "Hat IPN"
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr "Teil hat Interne Teilenummer"
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr "Aktive Teile anzeigen"
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr "verfügbarer Lagerbestand"
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr "Favorit"
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr "Käuflich"
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr "Lade Daten"
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr "Zeilen pro Seite"
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr "zeige"
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr "bis"
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr "von"
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr "Zeilen"
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr "Keine passenden Ergebnisse gefunden"
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr "Zeige/Verstecke Pagination"
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr "Neu laden"
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr "umschalten"
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr "Spalten"
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr "Alle"
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po
index 73f648ca48..fb7695ddea 100644
--- a/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/InvenTree/locale/el/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -36,7 +36,7 @@ msgstr ""
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr ""
@@ -68,36 +68,36 @@ msgstr ""
msgid "Select Category"
msgstr ""
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr ""
@@ -118,10 +118,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr ""
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr ""
@@ -147,19 +148,22 @@ msgstr ""
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -171,79 +175,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr ""
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr ""
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr ""
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index e6f01b8227..2ca3808dcb 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-07-28 05:05+0000\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -37,7 +37,7 @@ msgstr ""
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr ""
@@ -69,36 +69,36 @@ msgstr ""
msgid "Select Category"
msgstr ""
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -111,7 +111,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr ""
@@ -119,10 +119,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr ""
@@ -135,11 +135,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr ""
@@ -148,19 +149,22 @@ msgstr ""
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -172,79 +176,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr ""
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr ""
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr ""
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -369,7 +373,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -429,27 +433,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -506,8 +510,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -519,7 +523,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -528,23 +532,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -556,7 +561,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -585,13 +590,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -602,11 +607,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -645,7 +650,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -656,8 +661,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -667,11 +672,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -695,10 +701,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -706,12 +712,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -759,7 +765,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -775,8 +781,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -784,7 +790,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -792,7 +798,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -803,8 +809,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -815,12 +822,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -833,16 +840,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -892,8 +899,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -904,11 +911,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -933,8 +940,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -986,7 +994,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -998,8 +1006,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1029,6 +1038,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1051,7 +1064,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1161,7 +1175,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1170,15 +1184,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1186,7 +1202,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1210,7 +1226,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1291,7 +1307,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1299,7 +1315,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1308,7 +1324,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1316,7 +1332,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1324,7 +1340,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1357,7 +1373,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1402,7 +1418,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1418,7 +1434,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1486,8 +1502,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1523,7 +1540,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1540,524 +1557,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2086,16 +2125,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2123,11 +2162,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2140,7 +2179,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2181,10 +2220,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2192,7 +2231,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2230,7 +2269,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2241,9 +2280,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2254,7 +2294,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2273,7 +2314,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2284,8 +2325,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2293,8 +2334,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2306,9 +2347,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2339,22 +2380,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2362,7 +2403,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2380,7 +2421,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2394,7 +2435,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2421,14 +2463,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2440,13 +2482,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2499,8 +2540,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2523,8 +2564,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2541,7 +2582,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2551,13 +2593,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2568,17 +2610,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2608,7 +2650,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2635,7 +2677,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2659,10 +2701,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2691,23 +2734,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2737,7 +2782,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2745,11 +2790,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2799,20 +2844,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2828,7 +2873,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2947,7 +2992,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3015,7 +3060,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3039,15 +3084,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3067,7 +3113,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3182,14 +3229,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3341,7 +3387,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3411,8 +3457,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3444,16 +3490,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3466,7 +3512,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3494,7 +3540,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3517,18 +3564,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3540,8 +3588,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3557,7 +3605,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3565,8 +3614,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3766,524 +3815,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4334,7 +4359,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4387,7 +4412,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4433,7 +4458,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4461,34 +4486,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4531,7 +4534,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4650,42 +4653,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4719,138 +4722,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4874,6 +4888,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4961,7 +4976,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4983,7 +4998,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5003,8 +5018,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5025,148 +5040,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5282,7 +5277,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5336,60 +5331,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5454,7 +5446,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5561,7 +5553,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5614,30 +5606,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5687,127 +5686,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5820,20 +5829,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5904,6 +5930,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5940,7 +5970,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5961,103 +5991,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6141,11 +6172,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6209,43 +6240,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6269,25 +6311,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6299,10 +6328,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6352,14 +6395,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6428,9 +6493,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6450,1234 +6516,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index d297a73927..bfad560e33 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -36,7 +36,7 @@ msgstr "Ingrese la fecha"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr "Confirmar"
@@ -68,36 +68,36 @@ msgstr "Confirmar contraseña nueva"
msgid "Select Category"
msgstr "Seleccionar Categoría"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr "Cantidad proporcionada no válida"
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Grupo no válido: un {g}"
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr "Numeros de serie no encontrados"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr "Comentario"
@@ -118,10 +118,10 @@ msgstr "Comentario"
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr "Usuario"
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr "Nombre"
@@ -147,19 +148,22 @@ msgstr "Nombre"
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr "Descripción"
@@ -171,79 +175,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr "Alemán"
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr "Inglés"
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr "Francés"
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr "Polaco"
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr "Eliminar elemento"
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr "Configurar Contraseña"
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr "Información del sistema"
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr "Cantidad"
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr "Números de serie"
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr "Unicación"
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr "Estado"
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr "Referencia"
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr "Parte"
@@ -758,7 +764,7 @@ msgstr "Elementos completados"
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr "Responsable"
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr "Notas"
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr "Número de serie"
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr "Progreso"
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr "Destinación"
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr "Lote"
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr "Completados"
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr "Detalles"
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr "días"
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr "Página web"
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr "Fabricante"
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr "Proveedor"
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr "Nota"
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr "Teléfono"
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr "Cliente"
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr "Eliminar"
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr "Exportar"
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr "Guardar"
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index 36447fca15..253f75aa39 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -36,7 +36,7 @@ msgstr "Entrer la date"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr "Confirmer"
@@ -68,36 +68,36 @@ msgstr "Confirmer le nouveau mot de passe"
msgid "Select Category"
msgstr "Sélectionnez une catégorie"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Dupliquer le numéro de série: {n}"
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr "Quantité fournie invalide"
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr "Chaîne de numéro de série vide"
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Groupe invalide : {g}"
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Numéro de série dupliqué: {g}"
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr "Aucun numéro de série trouvé"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})"
@@ -110,7 +110,7 @@ msgstr "Pièce jointe"
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr "Commentaire"
@@ -118,10 +118,10 @@ msgstr "Commentaire"
msgid "File comment"
msgstr "Commentaire du fichier"
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr "Utilisateur"
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr "Nom"
@@ -147,19 +148,22 @@ msgstr "Nom"
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr "Description"
@@ -171,79 +175,79 @@ msgstr "Description (facultative)"
msgid "parent"
msgstr "parent"
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr "Allemand"
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr "Anglais"
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr "Français"
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr "Polonais"
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr "Turc"
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr "Séparer de l'élément parent"
msgid "Split child item"
msgstr "Fractionner l'élément enfant"
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr "Envoyé au client"
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr "Supprimer cet élément"
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr "Modifier les informations utilisateur"
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr "Informations système"
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr "Quantité"
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr "Numéros de série"
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr "Emplacement des pièces terminées"
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr "Référence"
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr "Pièce"
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr "Date de création"
@@ -783,7 +789,7 @@ msgstr "Date de création"
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr "Lien Externe"
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr "Notes"
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr "L'article en stock sélectionné n'a pas été trouvé dans la BOM pour la pièce '{p}'"
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr "Détails"
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr "Disponible"
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr "{name.title()} Fichier"
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr "Télécharger depuis l'URL"
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce"
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr "Autoriser les IPN dupliqués"
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr "Permettre à plusieurs pièces de partager le même IPN"
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr "Autoriser l'édition de l'IPN"
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce"
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr "jours"
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr "IPN"
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr "Enregistrer"
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr "A un IPN"
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po
index 1011ce60ca..46b94951af 100644
--- a/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/InvenTree/locale/he/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -36,7 +36,7 @@ msgstr ""
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr ""
@@ -68,36 +68,36 @@ msgstr ""
msgid "Select Category"
msgstr ""
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr ""
@@ -118,10 +118,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr ""
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr ""
@@ -147,19 +148,22 @@ msgstr ""
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -171,79 +175,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr ""
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr ""
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr ""
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po
index 4f9e1afe09..95d97efc15 100644
--- a/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/InvenTree/locale/id/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -36,7 +36,7 @@ msgstr ""
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr ""
@@ -68,36 +68,36 @@ msgstr ""
msgid "Select Category"
msgstr ""
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr ""
@@ -118,10 +118,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr ""
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr ""
@@ -147,19 +148,22 @@ msgstr ""
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -171,79 +175,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr ""
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr ""
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr ""
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 77ef7c1478..66b6042cf2 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -23,22 +23,22 @@ msgstr ""
#: InvenTree/api.py:110
msgid "No action specified"
-msgstr ""
+msgstr "Nessuna azione specificata"
#: InvenTree/api.py:124
msgid "No matching action found"
-msgstr ""
+msgstr "Nessuna azione corrispondente trovata"
#: InvenTree/fields.py:100
msgid "Enter date"
-msgstr ""
+msgstr "Inserisci la data"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
-msgstr ""
+msgstr "Conferma"
#: InvenTree/forms.py:127
msgid "Confirm delete"
@@ -50,54 +50,54 @@ msgstr ""
#: InvenTree/forms.py:160 templates/registration/login.html:76
msgid "Enter password"
-msgstr ""
+msgstr "Inserire la password"
#: InvenTree/forms.py:161
msgid "Enter new password"
-msgstr ""
+msgstr "Inserire una nuova password"
#: InvenTree/forms.py:168
msgid "Confirm password"
-msgstr ""
+msgstr "Conferma la password"
#: InvenTree/forms.py:169
msgid "Confirm new password"
-msgstr ""
+msgstr "Conferma la nuova password"
#: InvenTree/forms.py:201
msgid "Select Category"
-msgstr ""
+msgstr "Selezione una categoria"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr ""
@@ -118,10 +118,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr ""
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr ""
@@ -147,19 +148,22 @@ msgstr ""
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -171,81 +175,81 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
-msgid "German"
-msgstr ""
-
-#: InvenTree/settings.py:506
-msgid "Greek"
-msgstr ""
-
-#: InvenTree/settings.py:507
-msgid "English"
-msgstr ""
-
-#: InvenTree/settings.py:508
-msgid "Spanish"
-msgstr ""
-
-#: InvenTree/settings.py:509
-msgid "French"
-msgstr ""
-
-#: InvenTree/settings.py:510
-msgid "Hebrew"
-msgstr ""
-
-#: InvenTree/settings.py:511
-msgid "Italian"
-msgstr ""
-
-#: InvenTree/settings.py:512
-msgid "Japanese"
-msgstr ""
-
-#: InvenTree/settings.py:513
-msgid "Korean"
-msgstr ""
-
-#: InvenTree/settings.py:514
-msgid "Dutch"
-msgstr ""
-
-#: InvenTree/settings.py:515
-msgid "Norwegian"
-msgstr ""
-
-#: InvenTree/settings.py:516
-msgid "Polish"
-msgstr ""
-
-#: InvenTree/settings.py:517
-msgid "Russian"
-msgstr ""
-
#: InvenTree/settings.py:518
-msgid "Swedish"
-msgstr ""
+msgid "German"
+msgstr "Tedesco"
#: InvenTree/settings.py:519
-msgid "Thai"
-msgstr ""
+msgid "Greek"
+msgstr "Greco"
#: InvenTree/settings.py:520
-msgid "Turkish"
-msgstr ""
+msgid "English"
+msgstr "Inglese"
#: InvenTree/settings.py:521
-msgid "Vietnamese"
-msgstr ""
+msgid "Spanish"
+msgstr "Spagnolo"
#: InvenTree/settings.py:522
+msgid "French"
+msgstr "Francese"
+
+#: InvenTree/settings.py:523
+msgid "Hebrew"
+msgstr "Ebraico"
+
+#: InvenTree/settings.py:524
+msgid "Italian"
+msgstr "Italiano"
+
+#: InvenTree/settings.py:525
+msgid "Japanese"
+msgstr "Giapponese"
+
+#: InvenTree/settings.py:526
+msgid "Korean"
+msgstr "Coreano"
+
+#: InvenTree/settings.py:527
+msgid "Dutch"
+msgstr "Olandese"
+
+#: InvenTree/settings.py:528
+msgid "Norwegian"
+msgstr "Norvegese"
+
+#: InvenTree/settings.py:529
+msgid "Polish"
+msgstr "Polacco"
+
+#: InvenTree/settings.py:530
+msgid "Russian"
+msgstr "Russo"
+
+#: InvenTree/settings.py:531
+msgid "Swedish"
+msgstr "Svedese"
+
+#: InvenTree/settings.py:532
+msgid "Thai"
+msgstr "Thailandese"
+
+#: InvenTree/settings.py:533
+msgid "Turkish"
+msgstr "Turco"
+
+#: InvenTree/settings.py:534
+msgid "Vietnamese"
+msgstr "Vietnamita"
+
+#: InvenTree/settings.py:535
msgid "Chinese"
-msgstr ""
+msgstr "Cinese"
#: InvenTree/status.py:94
msgid "Background worker check failed"
@@ -262,7 +266,7 @@ msgstr ""
#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145
#: InvenTree/status_codes.py:314
msgid "Pending"
-msgstr ""
+msgstr "In attesa"
#: InvenTree/status_codes.py:105
msgid "Placed"
@@ -270,31 +274,31 @@ msgstr ""
#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317
msgid "Complete"
-msgstr ""
+msgstr "Completo"
#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
#: InvenTree/status_codes.py:316
msgid "Cancelled"
-msgstr ""
+msgstr "Annullato"
#: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148
#: InvenTree/status_codes.py:190
msgid "Lost"
-msgstr ""
+msgstr "Perso"
#: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149
#: InvenTree/status_codes.py:192
msgid "Returned"
-msgstr ""
+msgstr "Reso"
#: InvenTree/status_codes.py:146
#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
-msgstr ""
+msgstr "Spedito"
#: InvenTree/status_codes.py:186
msgid "OK"
-msgstr ""
+msgstr "OK"
#: InvenTree/status_codes.py:187
msgid "Attention needed"
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,25 +531,26 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
-msgstr ""
+msgstr "Quantità"
#: build/forms.py:49
msgid "Number of items to build"
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index df6371720f..9c938bc212 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -36,7 +36,7 @@ msgstr "日付を入力する"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr "確認"
@@ -68,36 +68,36 @@ msgstr "新しいパスワードの確認"
msgid "Select Category"
msgstr "カテゴリの選択"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr "数量コードが無効です"
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr "シリアル番号は空です"
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "無効なグループ: {g}"
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "重複シリアル: {g}"
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr "シリアル番号が見つかりません"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr "添付ファイル"
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr "コメント:"
@@ -118,10 +118,10 @@ msgstr "コメント:"
msgid "File comment"
msgstr "ファイルコメント"
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr "ユーザー"
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr "無効な選択です"
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr "お名前"
@@ -147,19 +148,22 @@ msgstr "お名前"
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr "説明"
@@ -171,79 +175,79 @@ msgstr "説明 (オプション)"
msgid "parent"
msgstr "親"
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr "ドイツ語"
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr "英語"
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr "フランス語"
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr "ポーランド語"
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr "トルコ語"
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr "完了したパーツの場所"
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr "パーツ"
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr "パーツを割り当てるためにビルドする"
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr "テンプレート"
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr "パーツはデフォルトのテンプレートです"
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr "アセンブリ"
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr "コンポーネント"
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr "パーツはデフォルトでサブコンポーネントとして使用できます"
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr "購入可能"
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr "パーツはデフォルトで販売可能です"
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr "追跡可能"
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr "パーツはデフォルトで追跡可能です"
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr "メーカー・パーツ"
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr "サプライヤー・パーツ"
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr "新しいサプライヤー・パーツを作成"
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr "新しいサプライヤー・パーツ"
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr "パーツの注文"
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr "メーカー・パーツの編集"
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr "メーカー・パーツを削除"
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr "メーカー・パーツの在庫"
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr "%(order)s - %(desc)s の未処理のパーツを受け取る"
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr "パーツ"
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr "全てのパーツ"
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr "新規パーツ"
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr "メーカー・パーツの編集"
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr "メーカー・パーツを削除"
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr "メーカー・パーツの編集"
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr "メーカー・パーツを削除"
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index 9dcd3962ad..900a659884 100644
--- a/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ko/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -36,7 +36,7 @@ msgstr ""
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr ""
@@ -68,36 +68,36 @@ msgstr ""
msgid "Select Category"
msgstr ""
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr ""
@@ -118,10 +118,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr ""
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr ""
@@ -147,19 +148,22 @@ msgstr ""
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -171,79 +175,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr ""
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr ""
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr ""
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index a5d293f605..13d7b460c0 100644
--- a/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/nl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -23,237 +23,241 @@ msgstr ""
#: InvenTree/api.py:110
msgid "No action specified"
-msgstr ""
+msgstr "Geen actie gespecificeerd"
#: InvenTree/api.py:124
msgid "No matching action found"
-msgstr ""
+msgstr "Geen overeenkomende actie gevonden"
#: InvenTree/fields.py:100
msgid "Enter date"
-msgstr ""
+msgstr "Voer datum in"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
-msgstr ""
+msgstr "Bevestigen"
#: InvenTree/forms.py:127
msgid "Confirm delete"
-msgstr ""
+msgstr "Bevestigen verwijdering"
#: InvenTree/forms.py:128
msgid "Confirm item deletion"
-msgstr ""
+msgstr "Bevestig item verwijdering"
#: InvenTree/forms.py:160 templates/registration/login.html:76
msgid "Enter password"
-msgstr ""
+msgstr "Voer wachtwoord in"
#: InvenTree/forms.py:161
msgid "Enter new password"
-msgstr ""
+msgstr "Voer een nieuw wachtwoord in"
#: InvenTree/forms.py:168
msgid "Confirm password"
-msgstr ""
+msgstr "Wachtwoord bevestigen"
#: InvenTree/forms.py:169
msgid "Confirm new password"
-msgstr ""
+msgstr "Nieuw wachtwoord bevestigen"
#: InvenTree/forms.py:201
msgid "Select Category"
-msgstr ""
+msgstr "Categorie selecteren"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
-msgstr ""
+msgstr "Ongeldige hoeveeldheid ingevoerd"
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
-msgstr ""
+msgstr "Ongeldige groep: {g}"
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
-msgstr ""
+msgstr "Geen serienummers gevonden"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr ""
+msgstr "Aantal unieke serienummer ({s}) moet overeenkomen met de hoeveelheid ({q})"
#: InvenTree/models.py:61 stock/models.py:1815
msgid "Attachment"
-msgstr ""
+msgstr "Bijlage"
#: InvenTree/models.py:62
msgid "Select file to attach"
-msgstr ""
+msgstr "Bestand als bijlage selecteren"
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
-msgstr ""
+msgstr "Opmerking"
#: InvenTree/models.py:64
msgid "File comment"
-msgstr ""
+msgstr "Bijlage opmerking"
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
-msgstr ""
+msgstr "Gebruiker"
#: InvenTree/models.py:74
msgid "upload date"
-msgstr ""
+msgstr "uploaddatum"
#: InvenTree/models.py:113
msgid "Invalid choice"
-msgstr ""
+msgstr "Ongeldige keuze"
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
-msgstr ""
+msgstr "Naam"
#: InvenTree/models.py:136 build/models.py:187
#: build/templates/build/detail.html:24 company/models.py:351
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
-msgstr ""
+msgstr "Omschrijving"
#: InvenTree/models.py:137
msgid "Description (optional)"
-msgstr ""
+msgstr "Omschrijving (optioneel)"
#: InvenTree/models.py:145
msgid "parent"
-msgstr ""
+msgstr "overkoepelend"
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
-msgstr ""
-
-#: InvenTree/settings.py:505
-msgid "German"
-msgstr ""
-
-#: InvenTree/settings.py:506
-msgid "Greek"
-msgstr ""
-
-#: InvenTree/settings.py:507
-msgid "English"
-msgstr ""
-
-#: InvenTree/settings.py:508
-msgid "Spanish"
-msgstr ""
-
-#: InvenTree/settings.py:509
-msgid "French"
-msgstr ""
-
-#: InvenTree/settings.py:510
-msgid "Hebrew"
-msgstr ""
-
-#: InvenTree/settings.py:511
-msgid "Italian"
-msgstr ""
-
-#: InvenTree/settings.py:512
-msgid "Japanese"
-msgstr ""
-
-#: InvenTree/settings.py:513
-msgid "Korean"
-msgstr ""
-
-#: InvenTree/settings.py:514
-msgid "Dutch"
-msgstr ""
-
-#: InvenTree/settings.py:515
-msgid "Norwegian"
-msgstr ""
-
-#: InvenTree/settings.py:516
-msgid "Polish"
-msgstr ""
-
-#: InvenTree/settings.py:517
-msgid "Russian"
-msgstr ""
+msgstr "Moet een geldig nummer zijn"
#: InvenTree/settings.py:518
-msgid "Swedish"
-msgstr ""
+msgid "German"
+msgstr "Duits"
#: InvenTree/settings.py:519
-msgid "Thai"
-msgstr ""
+msgid "Greek"
+msgstr "Grieks"
#: InvenTree/settings.py:520
-msgid "Turkish"
-msgstr ""
+msgid "English"
+msgstr "Engels"
#: InvenTree/settings.py:521
-msgid "Vietnamese"
-msgstr ""
+msgid "Spanish"
+msgstr "Spaans"
#: InvenTree/settings.py:522
+msgid "French"
+msgstr "Frans"
+
+#: InvenTree/settings.py:523
+msgid "Hebrew"
+msgstr "Hebreeuws"
+
+#: InvenTree/settings.py:524
+msgid "Italian"
+msgstr "Italiaans"
+
+#: InvenTree/settings.py:525
+msgid "Japanese"
+msgstr "Japans"
+
+#: InvenTree/settings.py:526
+msgid "Korean"
+msgstr "Koreaans"
+
+#: InvenTree/settings.py:527
+msgid "Dutch"
+msgstr "Nederlands"
+
+#: InvenTree/settings.py:528
+msgid "Norwegian"
+msgstr "Noors"
+
+#: InvenTree/settings.py:529
+msgid "Polish"
+msgstr "Pools"
+
+#: InvenTree/settings.py:530
+msgid "Russian"
+msgstr "Russisch"
+
+#: InvenTree/settings.py:531
+msgid "Swedish"
+msgstr "Zweeds"
+
+#: InvenTree/settings.py:532
+msgid "Thai"
+msgstr "Thais"
+
+#: InvenTree/settings.py:533
+msgid "Turkish"
+msgstr "Turks"
+
+#: InvenTree/settings.py:534
+msgid "Vietnamese"
+msgstr "Vietnamees"
+
+#: InvenTree/settings.py:535
msgid "Chinese"
-msgstr ""
+msgstr "Chinees"
#: InvenTree/status.py:94
msgid "Background worker check failed"
-msgstr ""
+msgstr "Achtergrondwerker check is gefaald"
#: InvenTree/status.py:98
msgid "Email backend not configured"
-msgstr ""
+msgstr "E-mailbackend niet geconfigureerd"
#: InvenTree/status.py:101
msgid "InvenTree system health checks failed"
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,69 +432,69 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
-msgstr ""
+msgstr "Systeeminformatie"
#: barcodes/api.py:53 barcodes/api.py:150
msgid "Must provide barcode_data parameter"
-msgstr ""
+msgstr "De paramenter barcode_data moet worden aangeleverd"
#: barcodes/api.py:126
msgid "No match found for barcode data"
-msgstr ""
+msgstr "Geen overeenkomst gevonden voor barcode gegevens"
#: barcodes/api.py:128
msgid "Match found for barcode data"
-msgstr ""
+msgstr "Overeenkomst gevonden voor barcode gegevens"
#: barcodes/api.py:153
msgid "Must provide stockitem parameter"
-msgstr ""
+msgstr "Moet voorraaditem parameter aanleveren"
#: barcodes/api.py:160
msgid "No matching stock item found"
-msgstr ""
+msgstr "Geen overeenkomend voorraaditem gevonden"
#: barcodes/api.py:190
msgid "Barcode already matches StockItem object"
-msgstr ""
+msgstr "Barcode komt al overeen met StockItem object"
#: barcodes/api.py:194
msgid "Barcode already matches StockLocation object"
-msgstr ""
+msgstr "Barcode komt al overeen met StockLocation object"
#: barcodes/api.py:198
msgid "Barcode already matches Part object"
-msgstr ""
+msgstr "Barcode komt al overeen met Part object"
#: barcodes/api.py:204 barcodes/api.py:216
msgid "Barcode hash already matches StockItem object"
-msgstr ""
+msgstr "Barcode komt al overeen met StockItem object"
#: barcodes/api.py:222
msgid "Barcode associated with StockItem"
-msgstr ""
+msgstr "Barcode gekoppeld aan StockItem"
#: build/forms.py:37
msgid "Build Order reference"
@@ -498,17 +502,17 @@ msgstr ""
#: build/forms.py:38
msgid "Order target date"
-msgstr ""
+msgstr "Order streefdatum"
#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:124
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
-msgstr ""
+msgstr "Streefdatum"
#: build/forms.py:43 build/models.py:277
msgid "Target date for build completion. Build will be overdue after this date."
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,124 +531,125 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
-msgstr ""
+msgstr "Aantal"
#: build/forms.py:49
msgid "Number of items to build"
-msgstr ""
+msgstr "Aantal items om te maken"
#: build/forms.py:91
msgid "Enter quantity for build output"
-msgstr ""
+msgstr "Voer hoeveelheid in voor build-output"
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
-msgstr ""
+msgstr "Serienummers"
#: build/forms.py:97
msgid "Enter serial numbers for build outputs"
-msgstr ""
+msgstr "Voer serienummers in voor build-outputs"
#: build/forms.py:103
msgid "Confirm creation of build output"
-msgstr ""
+msgstr "Bevestig het maken van build-output"
#: build/forms.py:124
msgid "Confirm deletion of build output"
-msgstr ""
+msgstr "Bevestig verwijdering van build-output"
#: build/forms.py:145
msgid "Confirm unallocation of stock"
-msgstr ""
+msgstr "Bevestig het ongedaan maken van de toewijzing van voorraad"
#: build/forms.py:169
msgid "Confirm stock allocation"
-msgstr ""
+msgstr "Bevestig de voorraadtoewijzing"
#: build/forms.py:186
msgid "Mark build as complete"
-msgstr ""
+msgstr "Markeer build als voltooid"
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
-msgstr ""
+msgstr "Locatie"
#: build/forms.py:211
msgid "Location of completed parts"
-msgstr ""
+msgstr "Locatie van voltooide onderdelen"
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
-msgstr ""
+msgstr "Status"
#: build/forms.py:216
msgid "Build output stock status"
-msgstr ""
+msgstr "Build output voorraad status"
#: build/forms.py:223
msgid "Confirm incomplete"
-msgstr ""
+msgstr "Bevestig onvolledigheid"
#: build/forms.py:224
msgid "Confirm completion with incomplete stock allocation"
-msgstr ""
+msgstr "Bevestig voltooiing met onvolledige voorraadtoewijzing"
#: build/forms.py:227
msgid "Confirm build completion"
-msgstr ""
+msgstr "Bevestig build voltooiing"
#: build/forms.py:252
msgid "Confirm cancel"
-msgstr ""
+msgstr "Annuleren bevestigen"
#: build/forms.py:252 build/views.py:65
msgid "Confirm build cancellation"
-msgstr ""
+msgstr "Bevestig annulering van de build"
#: build/forms.py:266
msgid "Select quantity of stock to allocate"
-msgstr ""
+msgstr "Selecteer de te toewijzen hoeveelheid voorraad"
#: build/models.py:113
msgid "Invalid choice for parent build"
-msgstr ""
+msgstr "Ongeldige keuze voor bovenliggende build"
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,17 +671,18 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
-msgstr ""
+msgstr "Referentie"
#: build/models.py:190
msgid "Brief description of the build"
-msgstr ""
+msgstr "Korte beschrijving van de build"
#: build/models.py:199 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:80
@@ -685,7 +691,7 @@ msgstr ""
#: build/models.py:200
msgid "BuildOrder to which this build is allocated"
-msgstr ""
+msgstr "BuildOrder waaraan deze build is toegewezen"
#: build/models.py:205 build/templates/build/auto_allocate.html:16
#: build/templates/build/build_base.html:128
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,38 +711,38 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
-msgstr ""
+msgstr "Onderdeel"
#: build/models.py:213
msgid "Select part to build"
-msgstr ""
+msgstr "Selecteer onderdeel om te bouwen"
#: build/models.py:218
msgid "Sales Order Reference"
-msgstr ""
+msgstr "Verkoop Order Referentie"
#: build/models.py:222
msgid "SalesOrder to which this build is allocated"
-msgstr ""
+msgstr "Verkooporder waaraan deze build is toegewezen"
#: build/models.py:227
msgid "Source Location"
-msgstr ""
+msgstr "Bron Locatie"
#: build/models.py:231
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
-msgstr ""
+msgstr "Selecteer de locatie waar de voorraad van de build vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)"
#: build/models.py:236
msgid "Destination Location"
-msgstr ""
+msgstr "Bestemmings Locatie"
#: build/models.py:240
msgid "Select location where the completed items will be stored"
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,11 +993,11 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
-msgstr ""
+msgstr "Beheerder weergave"
#: build/templates/build/build_base.html:81
#: build/templates/build/build_base.html:150
@@ -997,41 +1005,46 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
-msgstr ""
+msgstr "Achterstallig"
#: build/templates/build/build_base.html:90
msgid "Print actions"
-msgstr ""
+msgstr "Afdruk acties"
#: build/templates/build/build_base.html:94
msgid "Print Build Order"
-msgstr ""
+msgstr "Print Bouw Order"
#: build/templates/build/build_base.html:100
#: build/templates/build/build_base.html:222
msgid "Complete Build"
-msgstr ""
+msgstr "Voltooi Build"
#: build/templates/build/build_base.html:105
msgid "Build actions"
-msgstr ""
+msgstr "Build acties"
#: build/templates/build/build_base.html:109
msgid "Edit Build"
-msgstr ""
+msgstr "Bewerk Build"
#: build/templates/build/build_base.html:111
#: build/templates/build/build_base.html:206 build/views.py:56
msgid "Cancel Build"
+msgstr "Annuleer Build"
+
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
msgstr ""
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
-msgstr ""
+msgstr "Build details"
#: build/templates/build/build_base.html:150
#, python-format
@@ -1041,7 +1054,7 @@ msgstr ""
#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:67
msgid "Progress"
-msgstr ""
+msgstr "Voortgang"
#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:87 order/models.py:823
@@ -1050,15 +1063,16 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
-msgstr ""
+msgstr "Verkoop Order"
#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:101
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
-msgstr ""
+msgstr "Uitgegeven door"
#: build/templates/build/build_base.html:214
msgid "Incomplete Outputs"
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index b81d9eeaf8..3c021ab051 100644
--- a/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/InvenTree/locale/no/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -19,30 +19,30 @@ msgstr ""
#: InvenTree/api.py:64
msgid "API endpoint not found"
-msgstr ""
+msgstr "API endepunkt ikke funnet"
#: InvenTree/api.py:110
msgid "No action specified"
-msgstr ""
+msgstr "Ingen handling spesifisert"
#: InvenTree/api.py:124
msgid "No matching action found"
-msgstr ""
+msgstr "Ingen samsvarende handling funnet"
#: InvenTree/fields.py:100
msgid "Enter date"
-msgstr ""
+msgstr "Oppgi dato"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
-msgstr ""
+msgstr "Bekreft"
#: InvenTree/forms.py:127
msgid "Confirm delete"
-msgstr ""
+msgstr "Bekreft sletting"
#: InvenTree/forms.py:128
msgid "Confirm item deletion"
@@ -50,206 +50,210 @@ msgstr ""
#: InvenTree/forms.py:160 templates/registration/login.html:76
msgid "Enter password"
-msgstr ""
+msgstr "Oppgi passord"
#: InvenTree/forms.py:161
msgid "Enter new password"
-msgstr ""
+msgstr "Oppgi nytt passord"
#: InvenTree/forms.py:168
msgid "Confirm password"
-msgstr ""
+msgstr "Bekreft passord"
#: InvenTree/forms.py:169
msgid "Confirm new password"
-msgstr ""
+msgstr "Bekreft nytt passord"
#: InvenTree/forms.py:201
msgid "Select Category"
-msgstr ""
+msgstr "Velg kategori"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
-msgstr ""
+msgstr "Dupliser serie: {n}"
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
-msgstr ""
+msgstr "Ugyldig mengde oppgitt"
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
-msgstr ""
-
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
-#, python-brace-format
-msgid "Invalid group: {g}"
-msgstr ""
+msgstr "Tom serienummerstreng"
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
#: InvenTree/helpers.py:464
#, python-brace-format
+msgid "Invalid group: {g}"
+msgstr "Ugyldig gruppe: {g}"
+
+#: InvenTree/helpers.py:469
+#, python-brace-format
msgid "Duplicate serial: {g}"
-msgstr ""
+msgstr "Dupliser serie: {g}"
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
-msgstr ""
+msgstr "Ingen serienummer funnet"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr ""
+msgstr "Antall unike serienummer ({s}) må samsvare mengde ({q})"
#: InvenTree/models.py:61 stock/models.py:1815
msgid "Attachment"
-msgstr ""
+msgstr "Vedlegg"
#: InvenTree/models.py:62
msgid "Select file to attach"
-msgstr ""
+msgstr "Velg fil å legge ved"
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
-msgstr ""
+msgstr "Kommenter"
#: InvenTree/models.py:64
msgid "File comment"
-msgstr ""
+msgstr "Kommentar til fil"
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
-msgstr ""
+msgstr "Bruker"
#: InvenTree/models.py:74
msgid "upload date"
-msgstr ""
+msgstr "opplastet dato"
#: InvenTree/models.py:113
msgid "Invalid choice"
-msgstr ""
+msgstr "Ugyldig valg"
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
-msgstr ""
+msgstr "Navn"
#: InvenTree/models.py:136 build/models.py:187
#: build/templates/build/detail.html:24 company/models.py:351
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
-msgstr ""
+msgstr "Beskrivelse"
#: InvenTree/models.py:137
msgid "Description (optional)"
-msgstr ""
+msgstr "Beskrivelse (valgfritt)"
#: InvenTree/models.py:145
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
-msgstr ""
-
-#: InvenTree/settings.py:505
-msgid "German"
-msgstr ""
-
-#: InvenTree/settings.py:506
-msgid "Greek"
-msgstr ""
-
-#: InvenTree/settings.py:507
-msgid "English"
-msgstr ""
-
-#: InvenTree/settings.py:508
-msgid "Spanish"
-msgstr ""
-
-#: InvenTree/settings.py:509
-msgid "French"
-msgstr ""
-
-#: InvenTree/settings.py:510
-msgid "Hebrew"
-msgstr ""
-
-#: InvenTree/settings.py:511
-msgid "Italian"
-msgstr ""
-
-#: InvenTree/settings.py:512
-msgid "Japanese"
-msgstr ""
-
-#: InvenTree/settings.py:513
-msgid "Korean"
-msgstr ""
-
-#: InvenTree/settings.py:514
-msgid "Dutch"
-msgstr ""
-
-#: InvenTree/settings.py:515
-msgid "Norwegian"
-msgstr ""
-
-#: InvenTree/settings.py:516
-msgid "Polish"
-msgstr ""
-
-#: InvenTree/settings.py:517
-msgid "Russian"
-msgstr ""
+msgstr "Nummer må være gyldig"
#: InvenTree/settings.py:518
-msgid "Swedish"
-msgstr ""
+msgid "German"
+msgstr "Tysk"
#: InvenTree/settings.py:519
-msgid "Thai"
-msgstr ""
+msgid "Greek"
+msgstr "Gresk"
#: InvenTree/settings.py:520
-msgid "Turkish"
-msgstr ""
+msgid "English"
+msgstr "Engelsk"
#: InvenTree/settings.py:521
-msgid "Vietnamese"
-msgstr ""
+msgid "Spanish"
+msgstr "Spansk"
#: InvenTree/settings.py:522
+msgid "French"
+msgstr "Fransk"
+
+#: InvenTree/settings.py:523
+msgid "Hebrew"
+msgstr "Hebraisk"
+
+#: InvenTree/settings.py:524
+msgid "Italian"
+msgstr "Italiensk"
+
+#: InvenTree/settings.py:525
+msgid "Japanese"
+msgstr "Japansk"
+
+#: InvenTree/settings.py:526
+msgid "Korean"
+msgstr "Koreansk"
+
+#: InvenTree/settings.py:527
+msgid "Dutch"
+msgstr "Nederlandsk"
+
+#: InvenTree/settings.py:528
+msgid "Norwegian"
+msgstr "Norsk"
+
+#: InvenTree/settings.py:529
+msgid "Polish"
+msgstr "Polsk"
+
+#: InvenTree/settings.py:530
+msgid "Russian"
+msgstr "Russisk"
+
+#: InvenTree/settings.py:531
+msgid "Swedish"
+msgstr "Svensk"
+
+#: InvenTree/settings.py:532
+msgid "Thai"
+msgstr "Thailandsk"
+
+#: InvenTree/settings.py:533
+msgid "Turkish"
+msgstr "Tyrkisk"
+
+#: InvenTree/settings.py:534
+msgid "Vietnamese"
+msgstr "Vietnamesisk"
+
+#: InvenTree/settings.py:535
msgid "Chinese"
-msgstr ""
+msgstr "Kinesisk"
#: InvenTree/status.py:94
msgid "Background worker check failed"
-msgstr ""
+msgstr "Bakgrunnsarbeiderkontroll mislyktes"
#: InvenTree/status.py:98
msgid "Email backend not configured"
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,49 +432,49 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
#: barcodes/api.py:53 barcodes/api.py:150
msgid "Must provide barcode_data parameter"
-msgstr ""
+msgstr "Må oppgi gyldig strekkode_data parameter"
#: barcodes/api.py:126
msgid "No match found for barcode data"
-msgstr ""
+msgstr "Ingen treff funnet for strekkodedata"
#: barcodes/api.py:128
msgid "Match found for barcode data"
-msgstr ""
+msgstr "Treff funnet for strekkodedata"
#: barcodes/api.py:153
msgid "Must provide stockitem parameter"
-msgstr ""
+msgstr "Må oppgi lagervareparameter"
#: barcodes/api.py:160
msgid "No matching stock item found"
-msgstr ""
+msgstr "Ingen samsvarende lagervare funnet"
#: barcodes/api.py:190
msgid "Barcode already matches StockItem object"
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index d3a99fbf85..ef3d82a8b2 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -36,7 +36,7 @@ msgstr "Wprowadź dane"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr "Potwierdź"
@@ -68,36 +68,36 @@ msgstr "Potwierdź nowe hasło"
msgid "Select Category"
msgstr "Wybierz kategorię"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Powtórzony numer seryjny: {n}"
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr "Podano nieprawidłową ilość"
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr "Pusty ciąg numeru seryjnego"
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Nieprawidłowa grupa: {g}"
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Powtórzony numer seryjny: {g}"
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr "Nie znaleziono numerów seryjnych"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Ilość numerów seryjnych ({s}) musi odpowiadać ilości ({q})"
@@ -110,7 +110,7 @@ msgstr "Załącznik"
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr "Komentarz"
@@ -118,10 +118,10 @@ msgstr "Komentarz"
msgid "File comment"
msgstr "Komentarz pliku"
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr "Użytkownik"
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr "Błędny wybór"
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr "Nazwa"
@@ -147,19 +148,22 @@ msgstr "Nazwa"
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr "Opis"
@@ -171,81 +175,81 @@ msgstr "Opis (opcjonalny)"
msgid "parent"
msgstr "nadrzędny"
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr "Niemiecki"
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
-msgstr ""
+msgstr "Grecki"
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr "Angielski"
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
-msgstr ""
+msgstr "Hiszpański"
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr "Francuski"
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
-msgstr ""
+msgstr "Hebrajski"
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
-msgstr ""
+msgstr "Włoski"
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
-msgstr ""
+msgstr "Japoński"
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
-msgstr ""
+msgstr "Koreański"
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
-msgstr ""
+msgstr "Holenderski"
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
-msgstr ""
+msgstr "Norweski"
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr "Polski"
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
-msgstr ""
+msgstr "Rosyjski"
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
-msgstr ""
+msgstr "Szwedzki"
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
-msgstr ""
+msgstr "Tajski"
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr "Turecki"
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
-msgstr ""
+msgstr "Wietnamski"
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
-msgstr ""
+msgstr "Chiński"
#: InvenTree/status.py:94
msgid "Background worker check failed"
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr "Podziel element podrzędny"
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr "Wyślij do klienta"
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr "Usuń element"
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr "Zaznacz pole aby potwierdzić usunięcie elementu"
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr "Edytuj informacje użytkownika"
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr "Ustaw hasło"
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr "Hasła muszą być zgodne"
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr "Informacja systemowa"
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr "Data docelowa"
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr "Ilość"
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr "Numer seryjny"
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr "Oznacz budowę jako ukończoną"
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr "Lokalizacja"
@@ -601,11 +606,11 @@ msgstr "Lokalizacja ukończonych części"
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr "Status"
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr "Zlecenie Budowy"
@@ -655,8 +660,8 @@ msgstr "Zlecenie Budowy"
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr "Zlecenia budowy"
@@ -666,11 +671,12 @@ msgstr "Odwołanie do zamówienia wykonania"
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr "Referencja"
@@ -694,10 +700,10 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr "Część"
@@ -758,7 +764,7 @@ msgstr "Ukończone elementy"
msgid "Number of stock items which have been completed"
msgstr "Ilość produktów magazynowych które zostały ukończone"
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr "Status budowania"
@@ -774,8 +780,8 @@ msgstr "Kod partii"
msgid "Batch code for this build output"
msgstr "Kod partii dla wyjścia budowy"
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr "Data utworzenia"
@@ -783,7 +789,7 @@ msgstr "Data utworzenia"
msgid "Target completion date"
msgstr "Docelowy termin zakończenia"
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr "Data zakończenia"
@@ -791,7 +797,7 @@ msgstr "Data zakończenia"
msgid "completed by"
msgstr "zrealizowane przez"
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr "Wydany przez"
@@ -802,8 +808,9 @@ msgstr "Użytkownik, który wydał to zamówienie"
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr "Odpowiedzialny"
@@ -814,12 +821,12 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy"
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr "Link Zewnętrzny"
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr "Link do zewnętrznego adresu URL"
@@ -832,16 +839,16 @@ msgstr "Link do zewnętrznego adresu URL"
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr "Uwagi"
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr "Budowa"
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr "Element magazynowy"
@@ -932,8 +939,9 @@ msgstr "Docelowa lokalizacja magazynowa przedmiotu"
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr "Numer Seryjny"
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr "Widok administratora"
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr "Zaległe"
@@ -1028,6 +1037,10 @@ msgstr "Edytuj Budowę"
msgid "Cancel Build"
msgstr "Anuluj Budowę"
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr "Postęp"
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr "Zamówienie zakupu"
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr "Przeznaczenie"
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr "Nie określono lokalizacji docelowej"
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr "Partia"
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr "Utworzony"
@@ -1185,7 +1201,7 @@ msgstr "Utworzony"
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr "Zakończone"
@@ -1209,7 +1225,7 @@ msgstr "Przydziel zapasy do budowy"
msgid "Auto Allocate"
msgstr "Automatyczne przypisywanie"
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr "Cofnij przydział zapasów"
@@ -1290,7 +1306,7 @@ msgstr "Notatki tworzenia"
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr "Dodaj załącznik"
@@ -1307,7 +1323,7 @@ msgstr "Dodaj załącznik"
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr "Edytuj załącznik"
@@ -1315,7 +1331,7 @@ msgstr "Edytuj załącznik"
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr "Usuń załącznik"
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr "Szczegóły zlecenia budowy"
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr "Szczegóły"
@@ -1401,7 +1417,7 @@ msgstr "Utwórz zlecenie budowy"
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr "Numer seryjny już istnieje"
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr "Dostępne"
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr "Ustawienia wartości"
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr "Nazwa instancji InvenTree"
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr "Nazwa firmy"
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr "Bazowy URL"
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr "Bazowy adres URL dla instancji serwera"
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr "Pobierz z adresu URL"
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL"
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr "Obsługa kodu kreskowego"
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr "Włącz obsługę skanera kodów"
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr "Wyrażenie regularne IPN"
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr "Zezwól na powtarzający się IPN"
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr "Zezwól na edycję IPN"
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr "Skopiuj BOM komponentu"
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr "Szablon"
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr "Złożenie"
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr "Komponent"
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr "Możliwość zakupu"
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr "Możliwość sprzedaży"
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr "Możliwość śledzenia"
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr "Wirtualny"
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr "Części są domyślnie wirtualne"
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr "Pokaż ilość w formularzach"
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr "Tryb Debugowania"
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr "Rozmiar strony"
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr "Raporty testów"
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr "Włącz generowanie raportów testów"
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr "dni"
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr "Grupuj według komponentu"
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr "Cena"
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr "Domyślny"
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr "Wyślij plik"
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr "URL"
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr "URL zdjęcia"
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr "Opis firmy"
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr "Strona WWW"
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr "Punkt kontaktowy"
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr "Łącze"
@@ -2191,7 +2230,7 @@ msgstr "Łącze"
msgid "Link to external company information"
msgstr "Link do informacji o zewnętrznym przedsiębiorstwie"
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr "Obraz"
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr "Część bazowa"
@@ -2240,9 +2279,10 @@ msgstr "Wybierz część"
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr "Producent"
@@ -2253,7 +2293,8 @@ msgstr "Wybierz producenta"
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr "MPN"
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr "Część producenta"
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr "Jednostki"
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr "Dostawca"
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr "Uwaga"
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr "koszt podstawowy"
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr "Opakowanie"
@@ -2361,7 +2402,7 @@ msgstr "Opakowanie"
msgid "Part packaging"
msgstr "Opakowanie części"
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr "wielokrotność"
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr "Firma"
@@ -2393,7 +2434,8 @@ msgstr "Prześlij nowy obraz"
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr "Telefon"
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr "Klient"
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr "Komponenty dostawcy"
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr "Utwórz nowego dostawcę części"
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr "Nowy dostawca części"
@@ -2498,8 +2539,8 @@ msgstr "Zapasy dostawcy"
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr "Lista dostawców"
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr "Zamów część"
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr "Edytuj część producenta"
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr "Usuń cześć producenta"
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr "Usuń"
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr "Dodaj parametr"
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr "Stan"
@@ -2690,23 +2733,25 @@ msgstr "Dostarczone części"
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr "Informacja cenowa"
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr "Edytuj przedział cenowy"
@@ -2798,20 +2843,20 @@ msgstr "Firmy"
msgid "New Company"
msgstr "Nowa firma"
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr "Pobierz obraz"
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr "Nazwa etykiety"
msgid "Label description"
msgstr "Opis etykiety"
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr "Etykieta"
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr "Data wysyłki"
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr "Zamówienie"
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr "Cena zakupu"
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr "Nowa lokalizacja"
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr "Przedmioty"
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr "Cena jednostkowa"
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr "Części"
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr "Kod zamówienia"
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr "Akcje"
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr "Numer ID"
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr "Przydzielono"
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr "Cena zakupu"
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr "Domyślna lokalizacja"
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr "Dostępna ilość"
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr "Format pliku"
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr "Wybierz format pliku wyjściowego"
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr "Kaskadowe"
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr "Poziomy"
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr "Część nadrzędna"
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr "potwierdź"
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr "Powiązane części"
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr "Wybierz kategorię części"
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr "Kopiuj BOM"
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr "Podczęść"
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr "Domyślne słowa kluczowe"
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr "Nazwa części"
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr "Wariant"
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr "Opis części"
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr "Słowa kluczowe"
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr "Kategoria"
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr "IPN"
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr "Wersja"
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr "Minimalny stan magazynowy"
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr "Czy ta część może być zbudowana z innych części?"
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr "Czy ta część może być użyta do budowy innych części?"
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr "Aktywny"
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr "Czy ta część jest aktywna?"
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr "Dane"
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr "Podczęść"
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr "Wszystkie części"
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr "Stwórz nową kategorię komponentów"
@@ -4432,7 +4457,7 @@ msgstr "Eksportuj"
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr "Nowy komponent"
@@ -4460,35 +4485,13 @@ msgstr ""
msgid "Part Parameters"
msgstr "Parametry części"
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr "Nowa kategoria"
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr "Utwórz nową kategorię"
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr "Utwórz nową kategorię części"
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr "Utwórz nową lokalizację magazynową"
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr "Wybierz kategorię nadrzędną"
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
-msgstr "Edytuj kategorię części"
+#: part/templates/part/category.html:279
+msgid "Create Part"
+msgstr ""
#: part/templates/part/category_delete.html:5
msgid "Are you sure you want to delete category"
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr "Duplikuj część"
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
-msgstr "Utwórz nową część"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
+msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr "Lista części"
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr "Nieaktywny"
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr "Część jest wirtualna (nie fizyczna)"
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr "Część jest wirtualna (nie fizyczna)"
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr "Nieaktywny"
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr "Akcje kodów kreskowych"
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "Pokaż Kod QR"
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr "Drukuj etykietę"
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr "Akcje magazynowe"
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr "Duplikuj część"
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr "Edytuj część"
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr "Usuń część"
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr "Ostatni numer seryjny"
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr "Ostatni numer seryjny"
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr "Dodaj powiązaną część"
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr "Edytuj kategorię części"
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr "Wynik"
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr "Data"
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr "Data ważności"
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr "Numery seryjne"
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr "Termin minął"
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr "Lokacje nie są ustawione"
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr "Skaner kodów"
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr "Ostatnia aktualizacja"
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr "Ostatnia inwentaryzacja"
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr "Zapisz"
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr "Czy na pewno chcesz usunąć tą część?"
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr "Drukuj etykiety"
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr "Czy na pewno chcesz skasować tą lokację?"
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr "Utwórz nową lokalizację magazynową"
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr "Ilość nie może być ujemna"
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr "Błąd 403: Odmowa dostępu"
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji"
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr "Ilość za"
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr "Dodaj część producenta"
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr "Edytuj firmę"
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr "Dodaj nową firmę"
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr "Dodaj nowy filtr"
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr "Cena jednostkowa"
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr "Błąd 403: Odmowa dostępu"
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji"
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr "Ilość za"
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr "Dodaj część producenta"
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr "Edytuj firmę"
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr "Dodaj nową firmę"
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr "Dodaj nowy filtr"
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr "Kopiuj BOM"
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr "Cena jednostkowa"
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr "Dodaj stan"
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr "Dodaj"
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr "Dodano"
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index 5556dbe9a2..b5b04e2a28 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -36,7 +36,7 @@ msgstr "Введите дату"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr "Подтвердить"
@@ -68,36 +68,36 @@ msgstr "Подтвердите новый пароль"
msgid "Select Category"
msgstr "Выбрать категорию"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Дублировать серийный номер: {n}"
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr "недопустимое количество"
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr "Пустая строка серийного номера"
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Некорректный идентификатор группы {g}"
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Повторяющийся серийный {g}"
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr "Серийных номеров не найдено"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})"
@@ -110,7 +110,7 @@ msgstr "Вложения"
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr "Комментарий"
@@ -118,10 +118,10 @@ msgstr "Комментарий"
msgid "File comment"
msgstr "Комментарий к файлу"
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr "Пользователь"
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr "Название"
@@ -147,19 +148,22 @@ msgstr "Название"
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr "Описание"
@@ -171,81 +175,81 @@ msgstr "Описание (необязательно)"
msgid "parent"
msgstr "родитель"
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr "Немецкий"
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
-msgstr ""
+msgstr "Греческий"
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr "Английский"
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
-msgstr ""
+msgstr "Испанский"
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr "Французский"
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
-msgstr ""
+msgstr "Иврит"
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
-msgstr ""
+msgstr "Итальянский"
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
-msgstr ""
+msgstr "Японский"
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
-msgstr ""
+msgstr "Корейский"
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
-msgstr ""
+msgstr "Голландский"
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
-msgstr ""
+msgstr "Норвежский"
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr "Польский"
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
-msgstr ""
+msgstr "Русский"
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
-msgstr ""
+msgstr "Шведский"
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
-msgstr ""
+msgstr "Тайский"
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr "Турецкий"
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
-msgstr ""
+msgstr "Вьетнамский"
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
-msgstr ""
+msgstr "Китайский"
#: InvenTree/status.py:94
msgid "Background worker check failed"
@@ -368,7 +372,7 @@ msgstr "Отделить от родительского элемента"
msgid "Split child item"
msgstr "Разбить дочерний элемент"
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr "Отправлено клиенту"
@@ -428,27 +432,27 @@ msgstr "Перегрузка не может превысить 100%"
msgid "Overage must be an integer value or a percentage"
msgstr "Превышение должно быть целым числом или процентом"
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr "Удалить элемент"
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr "Установите флажок для подтверждения удаления элемента"
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr "Редактировать информацию о пользователе"
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr "Установить пароль"
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr "Пароли должны совпадать"
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr "Информация о системе"
@@ -505,8 +509,8 @@ msgstr "Срок выполнения заказа"
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr "Целевая дата"
@@ -518,7 +522,7 @@ msgstr "Целевая дата для сборки. Сборка будет п
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr "Целевая дата для сборки. Сборка будет п
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr "Количество"
@@ -555,7 +560,7 @@ msgstr "Количество элементов для сборки"
msgid "Enter quantity for build output"
msgstr "Введите количество для вывода сборки"
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr "Серийные номера"
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr "Пометить сборку как завершенную"
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr "Расположение"
@@ -601,11 +606,11 @@ msgstr "Расположение укомплектованных частей"
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr "Статус"
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr "Порядок сборки"
@@ -655,8 +660,8 @@ msgstr "Порядок сборки"
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr "Порядок сборки"
@@ -666,11 +671,12 @@ msgstr "Ссылка на заказ"
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,14 +711,14 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
-msgstr ""
+msgstr "Детали"
#: build/models.py:213
msgid "Select part to build"
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,15 +789,15 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
#: build/models.py:286
msgid "completed by"
-msgstr ""
+msgstr "выполнено"
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,10 +808,11 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
-msgstr ""
+msgstr "Ответственный"
#: build/models.py:304
msgid "User responsible for this build order"
@@ -814,14 +821,14 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
-msgstr ""
+msgstr "Внешняя ссылка"
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
-msgstr ""
+msgstr "Ссылка на внешний URL"
#: build/models.py:314 build/templates/build/navbar.html:52
#: company/models.py:139 company/models.py:526
@@ -832,18 +839,18 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
-msgstr ""
+msgstr "Заметки"
#: build/models.py:315
msgid "Extra build notes"
@@ -891,11 +898,11 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
-msgstr ""
+msgstr "Сборка"
#: build/models.py:1373
msgid "Build to allocate parts"
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,10 +1005,11 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
-msgstr ""
+msgstr "Просрочено"
#: build/templates/build/build_base.html:90
msgid "Print actions"
@@ -1013,7 +1022,7 @@ msgstr ""
#: build/templates/build/build_base.html:100
#: build/templates/build/build_base.html:222
msgid "Complete Build"
-msgstr ""
+msgstr "Завершить сборку"
#: build/templates/build/build_base.html:105
msgid "Build actions"
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1058,7 +1072,7 @@ msgstr ""
#: build/templates/build/detail.html:101
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
-msgstr ""
+msgstr "Выдано"
#: build/templates/build/build_base.html:214
msgid "Incomplete Outputs"
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,23 +1183,25 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
-msgstr ""
+msgstr "Партия"
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
-msgstr ""
+msgstr "Создано"
#: build/templates/build/detail.html:130
msgid "No target date set"
-msgstr ""
+msgstr "Нет конечной даты"
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1226,7 +1242,7 @@ msgstr ""
#: company/templates/company/detail.html:75 order/views.py:679
#: part/templates/part/category.html:140
msgid "Order Parts"
-msgstr ""
+msgstr "Заказать детали"
#: build/templates/build/detail.html:186
msgid "Untracked stock has been fully allocated for this Build Order"
@@ -1276,11 +1292,11 @@ msgstr ""
#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
-msgstr ""
+msgstr "Приложения"
#: build/templates/build/detail.html:257
msgid "Build Notes"
-msgstr ""
+msgstr "Заметки сборки"
#: build/templates/build/detail.html:261 build/templates/build/detail.html:397
#: company/templates/company/detail.html:173
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index 5e5aae00e3..8acb080094 100644
--- a/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sv/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -36,7 +36,7 @@ msgstr ""
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr ""
@@ -68,36 +68,36 @@ msgstr ""
msgid "Select Category"
msgstr ""
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr ""
@@ -118,10 +118,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr ""
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr ""
@@ -147,19 +148,22 @@ msgstr ""
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -171,79 +175,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr ""
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr ""
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr ""
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index b1682e8a39..1adb94f81f 100644
--- a/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/InvenTree/locale/th/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -36,7 +36,7 @@ msgstr ""
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr ""
@@ -68,36 +68,36 @@ msgstr ""
msgid "Select Category"
msgstr ""
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr ""
@@ -118,10 +118,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr ""
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr ""
@@ -147,19 +148,22 @@ msgstr ""
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -171,79 +175,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr ""
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr ""
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr ""
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index 7294ca79da..b51c8640a5 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -36,7 +36,7 @@ msgstr "Tarih giriniz"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr "Onay"
@@ -68,36 +68,36 @@ msgstr "Yeni parolayı doğrulayın"
msgid "Select Category"
msgstr "Kategori Seçin"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr "Tekrarlanan seri {n}"
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr "Geçersiz veri sağlandı"
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr "Boş seri numarası dizesi"
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr "Geçersiz grup: {g}"
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr "Tekrarlanan seri {g}"
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr "Seri numarası bulunamadı"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr "Benzersiz seri numaralarının sayısı ({s}) girilen miktarla eşleşmeli ({q})"
@@ -110,7 +110,7 @@ msgstr "Ek"
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr "Yorum"
@@ -118,10 +118,10 @@ msgstr "Yorum"
msgid "File comment"
msgstr "Dosya yorumu"
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr "Kullanıcı"
@@ -131,14 +131,15 @@ msgstr "yükleme tarihi"
#: InvenTree/models.py:113
msgid "Invalid choice"
-msgstr ""
+msgstr "Geçersiz seçim"
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr "Adı"
@@ -147,19 +148,22 @@ msgstr "Adı"
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr "Açıklama"
@@ -171,81 +175,81 @@ msgstr "Açıklama (isteğe bağlı)"
msgid "parent"
msgstr "üst"
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
-msgstr ""
+msgstr "Geçerli bir numara olmalı"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr "Almanca"
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
-msgstr ""
+msgstr "Yunanca"
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr "İngilizce"
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
-msgstr ""
+msgstr "İspanyolca"
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr "Fransızca"
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
-msgstr ""
+msgstr "İbranice"
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
-msgstr ""
+msgstr "İtalyanca"
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
-msgstr ""
+msgstr "Japonca"
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
-msgstr ""
+msgstr "Korece"
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
-msgstr ""
+msgstr "Flemenkçe"
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
-msgstr ""
+msgstr "Norveççe"
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr "Polonyaca"
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
-msgstr ""
+msgstr "Rusça"
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
-msgstr ""
+msgstr "İsveççe"
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
-msgstr ""
+msgstr "Tay dili"
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr "Türkçe"
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
-msgstr ""
+msgstr "Çince"
#: InvenTree/status.py:94
msgid "Background worker check failed"
@@ -368,7 +372,7 @@ msgstr "Üst ögeden ayır"
msgid "Split child item"
msgstr "Alt ögeyi ayır"
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr "Müşteriye gönderildi"
@@ -428,27 +432,27 @@ msgstr "Fazlalık %100'ü geçmemelidir"
msgid "Overage must be an integer value or a percentage"
msgstr "Fazlalık bir tamsayı veya yüzde olmalıdır"
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr "Ögeyi Sil"
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr "Öge silme işlemini onaylamak için kutuyu işaretleyin"
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr "Kullanıcı Bilgisini Düzenle"
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr "Şifre Belirle"
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr "Parola alanları eşleşmelidir"
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr "Sistem Bilgisi"
@@ -505,8 +509,8 @@ msgstr "Emir hedef tarihi"
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr "Hedeflenen tarih"
@@ -518,7 +522,7 @@ msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr "Miktar"
@@ -555,7 +560,7 @@ msgstr "Yapılacak öge sayısı"
msgid "Enter quantity for build output"
msgstr "Yapım işi çıktısı için miktarını girin"
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr "Seri Numaraları"
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr "Yapım işini tamamlandı olarak işaretle"
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr "Konum"
@@ -601,11 +606,11 @@ msgstr "Tamamlanmış parçaların konumu"
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr "Durum"
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr "Yapım İşi Emri"
@@ -655,8 +660,8 @@ msgstr "Yapım İşi Emri"
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr "Yapım İşi Emirleri"
@@ -666,11 +671,12 @@ msgstr "Yapım İşi Emri Referansı"
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr "Referans"
@@ -694,10 +700,10 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr "Parça"
@@ -758,7 +764,7 @@ msgstr "Tamamlanmış ögeler"
msgid "Number of stock items which have been completed"
msgstr "Tamamlanan stok kalemlerinin sayısı"
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr "Yapım İşi Durumu"
@@ -774,8 +780,8 @@ msgstr "Sıra numarası"
msgid "Batch code for this build output"
msgstr "Yapım işi çıktısı için sıra numarası"
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr "Oluşturulma tarihi"
@@ -783,7 +789,7 @@ msgstr "Oluşturulma tarihi"
msgid "Target completion date"
msgstr "Hedef tamamlama tarihi"
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr "Tamamlama tarihi"
@@ -791,7 +797,7 @@ msgstr "Tamamlama tarihi"
msgid "completed by"
msgstr "tamamlayan"
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr "Veren"
@@ -802,8 +808,9 @@ msgstr "Bu yapım işi emrini veren kullanıcı"
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr "Sorumlu"
@@ -814,12 +821,12 @@ msgstr "Bu yapım işi emrinden sorumlu kullanıcı"
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr "Harici Bağlantı"
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
@@ -832,16 +839,16 @@ msgstr "Harici URL'ye bağlantı"
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr "Notlar"
@@ -891,8 +898,8 @@ msgstr "Seri numaralı stok için miktar bir olmalı"
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr "{p} parçasının malzeme listesindeki seçili stok kalemi bulunamadı"
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr "Yapım İşi"
@@ -903,11 +910,11 @@ msgstr "Yapım işi için tahsis edilen parçalar"
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr "Stok Kalemi"
@@ -932,8 +939,9 @@ msgstr "Hedef stok kalemi"
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr "Seri Numara"
@@ -985,7 +993,7 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi"
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr "Yönetici görünümü"
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr "Vadesi geçmiş"
@@ -1028,6 +1037,10 @@ msgstr "Yapım İşini Düzenle"
msgid "Cancel Build"
msgstr "Yapım İşini İptal Et"
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr "İlerleme"
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr "Sipariş Emri"
@@ -1160,7 +1174,7 @@ msgstr "Stok herhangi bir konumdan alınabilir."
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr "Hedef"
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr "Hedef konumu belirtilmedi"
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr "Toplu"
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr "Oluşturuldu"
@@ -1185,7 +1201,7 @@ msgstr "Oluşturuldu"
msgid "No target date set"
msgstr "Hedef tarih ayarlanmadı"
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr "Tamamlandı"
@@ -1209,7 +1225,7 @@ msgstr "Yapım işi için stok tahsis et"
msgid "Auto Allocate"
msgstr "Otomatik Tahsis Et"
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr "Stok tahsisini kaldır"
@@ -1290,24 +1306,24 @@ msgstr "Yapım İşi Notları"
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
-msgstr ""
+msgstr "Notları Düzenle"
#: build/templates/build/detail.html:357
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
-msgstr ""
+msgstr "Dosya Ekle"
#: build/templates/build/detail.html:375
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr "Ek Düzenle"
@@ -1315,15 +1331,15 @@ msgstr "Ek Düzenle"
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
-msgstr ""
+msgstr "Silme İşlemini Onayla"
#: build/templates/build/detail.html:383
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr "Eki Sil"
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr "Yapım İşi Emri Detayları"
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr "Detaylar"
@@ -1401,7 +1417,7 @@ msgstr "Yapım İşi Çıktısı Oluştur"
msgid "Maximum output quantity is "
msgstr "Maksimum çıktı miktarı "
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr "Seri numaraları zaten mevcut"
@@ -1417,7 +1433,7 @@ msgstr "Yapım İşi Çıktısı Sil"
msgid "Confirm unallocation of build stock"
msgstr "Yapım işi stoku tahsisinin iptalini onayla"
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr "Onay kutusunu işaretleyin"
@@ -1485,8 +1501,9 @@ msgstr "Öge stokta bulunmalı"
msgid "Stock item is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr "Mevcut"
@@ -1508,7 +1525,7 @@ msgstr "Desteklenmeyen dosya formatı: {ext.upper()}"
#: common/files.py:69
msgid "Error reading file (invalid encoding)"
-msgstr ""
+msgstr "Dosya okurken hata (geçersiz biçim)"
#: common/files.py:74
msgid "Error reading file (invalid format)"
@@ -1522,7 +1539,7 @@ msgstr "Dosya okurken hata (hatalı ölçüler)"
msgid "Error reading file (data could be corrupted)"
msgstr "Dosya okurken hata (veri bozulmuş olabilir)"
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr "Dosya"
@@ -1539,534 +1556,556 @@ msgstr "{name.title()} Dosya"
msgid "Select {name} file to upload"
msgstr "{name} dosyasını yüklemek için seçin"
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
-msgstr ""
+msgstr "Bir tam sayı olmalı"
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
-msgstr ""
+msgstr "Anahtar dizesi benzersiz olmalı"
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
-msgstr ""
+msgstr "Şirket adı"
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
-msgstr ""
+msgstr "Ana URL"
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
-msgstr ""
+msgstr "Varsayılan Para Birimi"
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
-msgstr ""
+msgstr "Varsayılan para birimi"
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
-msgstr ""
+msgstr "URL'den indir"
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver"
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
-msgstr ""
+msgstr "Barkod Desteği"
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
-msgstr ""
+msgstr "Barkod tarayıcı desteğini etkinleştir"
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr "DPN Regex"
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)"
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr "Yinelenen DPN'ye İzin Ver"
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver"
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr "DPN Düzenlemeye İzin Ver"
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver"
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr "Kategori Paremetre Sablonu Kopyala"
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr "Şablon"
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr "Montaj"
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir"
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr "Bileşen"
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir"
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr "Satın Alınabilir"
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr "Satılabilir"
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr "Takip Edilebilir"
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr "Sanal"
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr "Parçalar varsayılan olarak sanaldır"
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
-msgstr ""
+msgstr "Formlarda Miktarı Göster"
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
-msgstr ""
+msgstr "Formlarda Fiyat Göster"
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
-msgstr ""
+msgstr "İlgili parçaları göster"
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
-msgstr ""
+msgstr "Hata Ayıklama Modu"
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
+msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)"
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
-msgstr ""
+msgstr "Sayfa Boyutu"
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
-msgstr ""
+msgstr "PDF raporlar için varsayılan sayfa boyutu"
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
-msgstr ""
+msgstr "Test Raporları"
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
-msgstr ""
+msgstr "günler"
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin"
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
-msgstr ""
+msgstr "Fiyat"
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
-msgstr ""
+msgstr "Varsayılan"
#: common/templates/common/edit_setting.html:11
msgid "Current value"
-msgstr ""
+msgstr "Mevcut değer"
#: common/views.py:33
msgid "Change Setting"
-msgstr ""
+msgstr "Ayarları Değiştir"
#: common/views.py:119
msgid "Supplied value is not allowed"
@@ -2078,25 +2117,25 @@ msgstr ""
#: common/views.py:138
msgid "Change User Setting"
-msgstr ""
+msgstr "Kullanıcı Ayarlarını Değiştir"
#: common/views.py:213 order/templates/order/order_wizard/po_upload.html:42
#: order/templates/order/po_navbar.html:19
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr "Dosya Yükle"
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
-msgstr ""
+msgstr "Alanları Eşleştir"
#: common/views.py:215
msgid "Match Items"
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,127 +2178,129 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
#: company/models.py:110
msgid "Company website URL"
-msgstr ""
+msgstr "Şirket web sitesi"
#: company/models.py:114 company/templates/company/company_base.html:88
msgid "Address"
-msgstr ""
+msgstr "Adres"
#: company/models.py:115
msgid "Company address"
-msgstr ""
+msgstr "Şirket adresi"
#: company/models.py:118
msgid "Phone number"
-msgstr ""
+msgstr "Telefon numarası"
#: company/models.py:119
msgid "Contact phone number"
-msgstr ""
+msgstr "İletişim telefon numarası"
#: company/models.py:122 company/templates/company/company_base.html:102
msgid "Email"
-msgstr ""
+msgstr "E-posta"
#: company/models.py:122
msgid "Contact email address"
-msgstr ""
+msgstr "İletişim e-posta adresi"
#: company/models.py:125 company/templates/company/company_base.html:109
msgid "Contact"
-msgstr ""
+msgstr "İletişim"
#: company/models.py:126
msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
-msgstr ""
+msgstr "Bağlantı"
#: company/models.py:128
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
-msgstr ""
+msgstr "Resim"
#: company/models.py:141
msgid "is customer"
-msgstr ""
+msgstr "müşteri mi"
#: company/models.py:141
msgid "Do you sell items to this company?"
-msgstr ""
+msgstr "Bu şirkete ürün satıyor musunuz?"
#: company/models.py:143
msgid "is supplier"
-msgstr ""
+msgstr "tedarikçi mi"
#: company/models.py:143
msgid "Do you purchase items from this company?"
-msgstr ""
+msgstr "Bu şirketten ürün satın alıyor musunuz?"
#: company/models.py:145
msgid "is manufacturer"
-msgstr ""
+msgstr "üretici mi"
#: company/models.py:145
msgid "Does this company manufacture parts?"
-msgstr ""
+msgstr "Bu şirket üretim yapıyor mu?"
#: company/models.py:149 company/serializers.py:245
#: company/templates/company/company_base.html:76
msgid "Currency"
-msgstr ""
+msgstr "Para birimi"
#: company/models.py:152
msgid "Default currency used for this company"
-msgstr ""
+msgstr "Bu şirket için varsayılan para birimi"
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
-msgstr ""
+msgstr "Temel Parça"
#: company/models.py:321 company/models.py:488 order/views.py:1082
msgid "Select part"
-msgstr ""
+msgstr "Parça seçin"
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
-msgstr ""
+msgstr "Üretici"
#: company/models.py:333
msgid "Select manufacturer"
-msgstr ""
+msgstr "Üretici seçin"
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
-msgstr ""
+msgstr "ÜPN"
#: company/models.py:340
msgid "Manufacturer Part Number"
-msgstr ""
+msgstr "Üretici Parça Numarası"
#: company/models.py:346
msgid "URL for external manufacturer part link"
@@ -2272,28 +2313,28 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
#: company/models.py:413
msgid "Parameter name"
-msgstr ""
+msgstr "Parametre adı"
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
-msgstr ""
+msgstr "Değer"
#: company/models.py:420
msgid "Parameter value"
-msgstr ""
+msgstr "Parametre değeri"
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,21 +2346,21 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
-msgstr ""
+msgstr "Tedarikçi"
#: company/models.py:495
msgid "Select supplier"
-msgstr ""
+msgstr "Tedarikçi seçin"
#: company/models.py:500 company/templates/company/supplier_part.html:92
#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176
#: part/bom.py:287
msgid "SKU"
-msgstr ""
+msgstr "SKU"
#: company/models.py:501
msgid "Supplier stock keeping unit"
@@ -2338,32 +2379,32 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
-msgstr ""
+msgstr "Not"
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
-msgstr ""
+msgstr "temel maliyet"
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
-msgstr ""
+msgstr "Paketleme"
#: company/models.py:531
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
-msgstr ""
+msgstr "çoklu"
#: company/models.py:533
msgid "Order multiple"
@@ -2375,11 +2416,11 @@ msgstr ""
#: company/serializers.py:69
msgid "Currency Code"
-msgstr ""
+msgstr "Para Birimi Kodu"
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr "Satın Alma Emri Oluştur"
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr "Müşteri"
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr "Tedarikçi Parçaları"
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr "Yeni tedarikçi parçası oluştur"
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr "Yeni Tedarikçi Parçası"
@@ -2498,8 +2539,8 @@ msgstr "Tedarikçi Stoku"
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr "Satın Alma Emirleri"
@@ -2522,8 +2563,8 @@ msgstr "Yeni Satın Alma Emri"
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr "Satış Emirleri"
@@ -2540,7 +2581,8 @@ msgstr "Yeni Satış Emri"
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr "Atanan Stok"
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr "Parça siparişi"
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr "Tedarikçi parçalarını sil"
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr "Stok"
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr "Stok Kalemleri"
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr "Tedarikçi parçasını düzenle"
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr "Tedarikçi parçasını sil"
@@ -2732,11 +2777,11 @@ msgstr ""
#: company/templates/company/supplier_part.html:158
#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7
msgid "Pricing Information"
-msgstr ""
+msgstr "Fiyat Bilgisi"
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2766,52 +2811,52 @@ msgstr "Tedarikçi Parçası Fiyatlandırması"
#: company/templates/company/supplier_part_navbar.html:29
msgid "Pricing"
-msgstr ""
+msgstr "Fiyatlandırma"
#: company/views.py:50
msgid "New Supplier"
-msgstr ""
+msgstr "Yeni Tedarikçi"
#: company/views.py:55 part/templates/part/prices.html:148
#: templates/InvenTree/search.html:306 templates/navbar.html:36
msgid "Manufacturers"
-msgstr ""
+msgstr "Üreticiler"
#: company/views.py:56
msgid "New Manufacturer"
-msgstr ""
+msgstr "Yeni Üretici"
#: company/views.py:61 templates/InvenTree/search.html:336
#: templates/navbar.html:45
msgid "Customers"
-msgstr ""
+msgstr "Müşteriler"
#: company/views.py:62
msgid "New Customer"
-msgstr ""
+msgstr "Yeni Müşteri"
#: company/views.py:69
msgid "Companies"
-msgstr ""
+msgstr "Şirketler"
#: company/views.py:70
msgid "New Company"
-msgstr ""
+msgstr "Yeni Şirket"
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
-msgstr ""
+msgstr "Resmi İndirin"
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
-msgstr ""
+msgstr "Geçersiz yanıt: {code}"
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr "Sağlanan URL geçerli bir resim dosyası değil"
@@ -2827,7 +2872,7 @@ msgstr "Etiket adı"
msgid "Label description"
msgstr "Etiket tanımı"
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr "Etiket"
@@ -2837,7 +2882,7 @@ msgstr "Etiket şablon listesi"
#: label/models.py:134 report/models.py:298
msgid "Enabled"
-msgstr ""
+msgstr "Etkin"
#: label/models.py:135
msgid "Label template is enabled"
@@ -2845,7 +2890,7 @@ msgstr "Etiket sablonu etkinleştirildi"
#: label/models.py:140
msgid "Width [mm]"
-msgstr ""
+msgstr "Genişlik [mm]"
#: label/models.py:141
msgid "Label width, specified in mm"
@@ -2853,7 +2898,7 @@ msgstr "Etiket genişliği mm olarak belirtilmeli"
#: label/models.py:147
msgid "Height [mm]"
-msgstr ""
+msgstr "Yükseklik [mm]"
#: label/models.py:148
msgid "Label height, specified in mm"
@@ -2874,7 +2919,7 @@ msgstr ""
#: label/models.py:259 label/models.py:319 label/models.py:366
#: report/models.py:322 report/models.py:457 report/models.py:495
msgid "Filters"
-msgstr ""
+msgstr "Filtreler"
#: label/models.py:318
msgid "Query filters (comma-separated list of key=value pairs"
@@ -2886,16 +2931,16 @@ msgstr ""
#: order/forms.py:30 order/templates/order/order_base.html:47
msgid "Place order"
-msgstr ""
+msgstr "Sipariş ver"
#: order/forms.py:41 order/templates/order/order_base.html:54
msgid "Mark order as complete"
-msgstr ""
+msgstr "Siparişi tamamlandı olarak işaretle"
#: order/forms.py:52 order/forms.py:63 order/templates/order/order_base.html:59
#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
-msgstr ""
+msgstr "Siparişi iptal et"
#: order/forms.py:74 order/templates/order/sales_order_base.html:58
msgid "Ship order"
@@ -2915,15 +2960,15 @@ msgstr ""
#: order/models.py:158
msgid "Order description"
-msgstr ""
+msgstr "Sipariş açıklaması"
#: order/models.py:160
msgid "Link to external page"
-msgstr ""
+msgstr "Harici sayfaya bağlantı"
#: order/models.py:168
msgid "Created By"
-msgstr ""
+msgstr "Oluşturan"
#: order/models.py:175
msgid "User or group responsible for this order"
@@ -2931,11 +2976,11 @@ msgstr ""
#: order/models.py:180
msgid "Order notes"
-msgstr ""
+msgstr "Sipariş notları"
#: order/models.py:247 order/models.py:534
msgid "Order reference"
-msgstr ""
+msgstr "Sipariş referansı"
#: order/models.py:252 order/models.py:549
msgid "Purchase order status"
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3140,7 +3187,7 @@ msgstr ""
#: order/templates/order/order_base.html:39
#: order/templates/order/sales_order_base.html:50
msgid "Print"
-msgstr ""
+msgstr "Yazdır"
#: order/templates/order/order_base.html:43
#: order/templates/order/sales_order_base.html:54
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr "Yeni Konum"
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr "Yeni stok konumu oluştur"
@@ -3315,7 +3361,7 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:33
msgid "Select Supplier"
-msgstr ""
+msgstr "Tedarikçi Seç"
#: order/templates/order/order_wizard/select_parts.html:57
msgid "No price"
@@ -3340,9 +3386,9 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
-msgstr ""
+msgstr "Ürünler"
#: order/templates/order/order_wizard/select_pos.html:32
msgid "Select Purchase Order"
@@ -3388,7 +3434,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:58
#: order/templates/order/sales_order_detail.html:54
msgid "Order Notes"
-msgstr ""
+msgstr "Sipariş Notları"
#: order/templates/order/purchase_order_detail.html:238
#: order/templates/order/sales_order_detail.html:518
@@ -3410,15 +3456,15 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
#: order/templates/order/purchase_order_detail.html:367
#: order/templates/order/sales_order_detail.html:383
msgid "Total price"
-msgstr ""
+msgstr "Toplam fiyat"
#: order/templates/order/purchase_order_detail.html:431
#: order/templates/order/sales_order_detail.html:489
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr "Parçalar"
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr "İşlemler"
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr "Stok tahsisini düzenle"
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr "Stok tahsisini sil"
@@ -3537,10 +3585,10 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:336
msgid "ID"
-msgstr ""
+msgstr "ID"
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr "Seri numaralarını tahsis et"
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3624,7 +3673,7 @@ msgstr ""
#: order/views.py:104
msgid "Cancel Order"
-msgstr ""
+msgstr "Siparişi İptal Et"
#: order/views.py:113 order/views.py:139
msgid "Confirm order cancellation"
@@ -3700,7 +3749,7 @@ msgstr ""
#: order/views.py:705
msgid "Update prices"
-msgstr ""
+msgstr "Fiyatları güncelle"
#: order/views.py:963
#, python-brace-format
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr "Varsayılan Konum"
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr "Dosya Biçimi"
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr "Çıktı dosyası biçimi seçin"
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
-msgstr ""
+msgstr "Seviyeler"
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr "Dışa aktarılan malzeme listesine parça tedarikçisi verilerini dahil edin"
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr "Kategori parametre şablonlarını dahil et"
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr "Üst kategorilerin parametre şablonlarını dahil et"
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr "Parametre şablonunu aynı seviyedeki kategorilere ekle"
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr "Parametre şablonunu tüm kategorilere ekle"
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr "Bu kategori içindeki parçalar için varsayılan konum"
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr "Parça Kategorileri"
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr "Sonraki kullanılabilir seri numaraları"
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr "Sonraki müsait seri numarası"
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr "En son seri numarası"
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
-msgstr ""
+msgstr "Parça adı"
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr "Bu parça başka bir parçanın çeşidi mi?"
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr "Çeşidi"
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
-msgstr ""
+msgstr "Parça açıklaması"
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
-msgstr ""
+msgstr "Anahtar kelimeler"
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr "DPN"
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr "Revizyon"
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
-msgstr ""
+msgstr "Varsayılan Tedarikçi"
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr "Varsayılan tedarikçi parçası"
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
-msgstr ""
+msgstr "Minimum Stok"
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr "Bu parça diğer parçalardan yapılabilir mi?"
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?"
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
-msgstr ""
+msgstr "Aktif"
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
-msgstr ""
+msgstr "Bu parça aktif mi?"
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
-msgstr ""
+msgstr "Oluşturan Kullanıcı"
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir"
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
-msgstr ""
+msgstr "Test Adı"
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
-msgstr ""
+msgstr "Test Açıklaması"
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır"
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir"
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,39 +4485,17 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
-msgstr "Yeni konum oluştur"
-
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr "Yeni Stok konumu oluştur"
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
msgid "Are you sure you want to delete category"
-msgstr ""
+msgstr "Bu kategoriyi silmek istediğinize emin misiniz"
#: part/templates/part/category_delete.html:8
#, python-format
@@ -4505,7 +4508,7 @@ msgstr "Bu kategori silinirse, alt kategoriler taşınacaktır"
#: part/templates/part/category_delete.html:11
msgid "category"
-msgstr ""
+msgstr "kategori"
#: part/templates/part/category_delete.html:13
msgid "top level Parts category"
@@ -4514,7 +4517,7 @@ msgstr ""
#: part/templates/part/category_delete.html:25
#, python-format
msgid "This category contains %(count)s parts"
-msgstr ""
+msgstr "Bu kategori %(count)s parça içermektedir"
#: part/templates/part/category_delete.html:27
#, python-format
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4577,7 +4580,7 @@ msgstr ""
#: part/templates/part/detail.html:77
msgid "New Order"
-msgstr ""
+msgstr "Yeni Sipariş"
#: part/templates/part/detail.html:90
msgid "Sales Order Allocations"
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4708,7 +4711,7 @@ msgstr ""
#: part/templates/part/navbar.html:61
msgid "Prices"
-msgstr ""
+msgstr "Fiyatlar"
#: part/templates/part/navbar.html:90
msgid "Test Templates"
@@ -4718,136 +4721,147 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr "Bu parça bir şablon parçadır (Bu parçanın çeşitleri yapılabilir)"
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr "Parça stoku seri numarası ile takip edilebilir"
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr "Bu parça harici tedarikçilerden satın alınabilir"
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr "Pasif"
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr "Barkod işlemleri"
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr "Etiket Yazdır"
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr "Stok işlemleri"
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr "Parça işlemleri"
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr "Son Seri Numarası"
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr "Bu parça %(link)s parçasının bir çeşididir"
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr "Yapım İşi Emirleri için Gerekli"
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr "Satış Emirleri için Gerekli"
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr "Son Seri Numarası"
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
+msgstr "Hesapla"
+
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
msgstr ""
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
@@ -4861,7 +4875,7 @@ msgstr ""
#: part/templates/part/prices.html:52 part/templates/part/prices.html:84
#: part/templates/part/prices.html:101
msgid "Unit Cost"
-msgstr ""
+msgstr "Birim Maliyeti"
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
@@ -4870,9 +4884,10 @@ msgstr ""
#: part/templates/part/prices.html:59 part/templates/part/prices.html:89
#: part/templates/part/prices.html:106
msgid "Total Cost"
-msgstr ""
+msgstr "Toplam Maliyet"
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr "Aşağıdaki parçalara kategori ayarla"
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr "Stok Yok"
@@ -5024,148 +5039,128 @@ msgstr "%(full_name)s şablonu için yeni bir çeşit oluştur."
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr "Çeşit Oluştur"
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
-msgstr ""
+msgstr "Hiçbiri"
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr "Parça Parametre Şablonu Oluştur"
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr "Parça Parametre Şablonu Düzenle"
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr "Parça Parametre Şablonu Sil"
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr "Kategori Parametre Şablonu Oluştur"
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr "Kategori Parametre Şablonu Düzenle"
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr "Kategori Parametre Şablonu Sil"
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr "Bu stok kalemi için son kullanma tarihi"
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr "Benzersiz seri numaraları giriniz (veya boş bırakınız)"
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr "Seri numaralandırılmış stok için hedef konum(varsayılan olarak, geçerli konumda kalacaktır)"
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr "Seri numaraları"
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr "Benzersiz seri numaraları (miktar ile eşleşmeli)"
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr "İşlem notu ekle (isteğe bağlı)"
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr "Test raporu şablonu seç"
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr "Kurulacak stok kalemi"
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr "Atanacak stok miktarı"
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr "Sökülen ögeler için hedef konum"
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr "Kurulu stok kalemlerinin kaldırılmasını onayla"
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr "Çeşide çevir"
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr "Stok kalemi tüm gerekli testleri geçmedi"
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz."
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr "Konum ayarlanmadı"
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
+#: stock/templates/stock/item_base.html:399
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi"
-#: stock/templates/stock/item_base.html:399
+#: stock/templates/stock/item_base.html:401
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek"
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr "Kaydet"
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,21 +5828,38 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
-msgstr "Bu ögeye başka bir stok kalemi ekle."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
+msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
-msgstr "Bu stok kalemi, kendi malzeme listesinin bir parçasına bağlıdır"
-
#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
-msgstr "Bu stok kalemi şu anda stokta"
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
+msgstr ""
#: stock/templates/stock/item_serialize.html:5
msgid "Create serialized items from this stock item."
@@ -5903,6 +5929,10 @@ msgstr "Yazdırma İşlemleri"
msgid "Print labels"
msgstr "Etiketleri yazdır"
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr "Yeni konum oluştur"
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?"
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr "Stok Kalemine Dönüştür"
@@ -5960,103 +5990,104 @@ msgstr "Bu işlem kolayca geri alınamaz"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr "Stok konumunu düzenle"
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr "Sahip gerekli (sahip kontrolü etkinleştirildi)"
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr "Stok Konumu QR Kodu"
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr "Geçerli bir konum belirtiniz"
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr "Stok ayarlamasını onayla"
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr "Yeni Stok konumu oluştur"
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr "Stoku Seri Numarala"
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr "Stok Konumunu Sil"
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr "Stok konumu ayarlanmadı"
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr "Parça Parametre Şablonu"
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr "Parça parametre şablonu bulunamadı"
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr "Şablonu Düzenle"
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr "Şablonu Sil"
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr "Kategori parametre şablonu bulunamadı"
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr "Şablonu Düzenle"
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr "Şablonu Sil"
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr "Parça parametre şablonu bulunamadı"
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6337,67 +6380,89 @@ msgstr ""
#: templates/InvenTree/settings/user.html:36
msgid "Email Address"
-msgstr ""
+msgstr "E-Posta Adresi"
#: templates/InvenTree/settings/user.html:42
msgid "Theme Settings"
-msgstr ""
+msgstr "Tema Ayarları"
#: templates/InvenTree/settings/user.html:63
msgid "Set Theme"
-msgstr ""
+msgstr "Tema Seç"
#: templates/InvenTree/settings/user.html:70
msgid "Language Settings"
+msgstr "Dil Ayarları"
+
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
+msgstr "Dili Ayarla"
+
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
msgstr ""
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
+msgstr "Ana Sayfa Ayarları"
+
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
msgstr ""
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
-msgstr ""
+msgstr "Arama Ayarları"
#: templates/about.html:13
msgid "InvenTree Version Information"
-msgstr ""
+msgstr "InvenTree Sürüm Bilgisi"
#: templates/about.html:22
msgid "InvenTree Version"
-msgstr ""
+msgstr "InvenTree Sürümü"
#: templates/about.html:26
msgid "Up to Date"
-msgstr ""
+msgstr "Güncel"
#: templates/about.html:28
msgid "Update Available"
-msgstr ""
+msgstr "Güncelleme Mevcut"
#: templates/about.html:34
msgid "API Version"
-msgstr ""
+msgstr "API Sürümü"
#: templates/about.html:39
msgid "Python Version"
-msgstr ""
+msgstr "Python Sürümü"
#: templates/about.html:44
msgid "Django Version"
-msgstr ""
+msgstr "Django Sürümü"
#: templates/about.html:51
msgid "Commit Hash"
-msgstr ""
+msgstr "Commit Hash Değeri"
#: templates/about.html:58
msgid "Commit Date"
-msgstr ""
+msgstr "Commit Tarihi"
#: templates/about.html:63
msgid "InvenTree Documentation"
@@ -6409,29 +6474,30 @@ msgstr ""
#: templates/about.html:73
msgid "Credits"
-msgstr ""
+msgstr "Katkıda Bulunanlar"
#: templates/about.html:78
msgid "Mobile App"
-msgstr ""
+msgstr "Mobil Uygulama"
#: templates/about.html:83
msgid "Submit Bug Report"
-msgstr ""
+msgstr "Hata Raporu Gönder"
#: templates/about.html:90 templates/clip.html:4
msgid "copy to clipboard"
-msgstr ""
+msgstr "panoya kopyala"
#: templates/about.html:90
msgid "copy version information"
-msgstr ""
+msgstr "sürüm bilgisini kopyala"
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
-msgstr ""
+msgstr "Kapat"
#: templates/image_download.html:8
msgid "Specify URL for downloading image"
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz"
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr "Stok Kalemlerini bu konuma kaydet"
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr "Stok kalemi zaten bu konumda"
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr "Konuma Kaydet"
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr "Barkod geçerli bir konumla eşleşmiyor"
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr "Gerekli Parça"
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr "Şablon Parça"
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr "doğru"
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr "yanlış"
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr "Etiket yazdırılmadan önce stok kalemleri seçilmeli"
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr "Etiket Bulunamadı"
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr "Seçili stok kalemleri için etiket bulunamadı"
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr "Stok Konumu Seç"
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr "Etiket yazdırılmadan önce stok konumları seçilmeli"
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr "Seçili konumlarla eşleşen etiket bulunamadı"
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr "Etiket Seç"
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr "Etiket Şablonu Seç"
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr "Çeşit bulunamadı"
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr "Rapor Şablonu Seç"
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr "Test Raporu Şablonu Seç"
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr "Seçili stok kalemleri için rapor şablonu bulunamadı"
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr "Seçili yapım işleri için rapor şablonu bulunamadı"
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr "Parçaları Seçin"
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr "Seçili parçalar için rapor şablonu bulunamadı"
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr "Seçili emirler için rapor şablonu bulunamadı"
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr "Cevap Yok"
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz"
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr "Stok Kalemlerini bu konuma kaydet"
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr "Stok kalemi zaten bu konumda"
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr "Konuma Kaydet"
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr "Barkod geçerli bir konumla eşleşmiyor"
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr "Gerekli Parça"
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr "Şablon Parça"
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr "doğru"
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr "yanlış"
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr "Etiket yazdırılmadan önce stok kalemleri seçilmeli"
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr "Etiket Bulunamadı"
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr "Seçili stok kalemleri için etiket bulunamadı"
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr "Stok Konumu Seç"
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr "Etiket yazdırılmadan önce stok konumları seçilmeli"
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr "Seçili konumlarla eşleşen etiket bulunamadı"
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr "Etiket Seç"
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr "Etiket Şablonu Seç"
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr "Çeşit bulunamadı"
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr "konumlar"
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr "Tanımsız konum"
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr "Konum artık yok"
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr "Seri No"
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr "Çeşit Stokuna İzin Ver"
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr "Alt konumları dahil et"
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr "Konumları dahil et"
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr "Seri Numaralı"
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr "Seri numarası BvE"
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr "Seri numarası büyük veya eşit"
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr "Seri numarası KvE"
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr "Seri numarası küçük veya eşit"
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr "Seri numarası"
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr "Alt konumlardaki stoku dahil et"
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr "Çeşitleri Dahil Et"
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr "Çeşit parçaların stok kalemlerini dahil et"
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr "Alt kategorilerdeki parçaları dahil et"
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr "DPN Var"
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po
index 0b5022dd8b..8c651efac6 100644
--- a/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/vi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -36,7 +36,7 @@ msgstr ""
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr ""
@@ -68,36 +68,36 @@ msgstr ""
msgid "Select Category"
msgstr ""
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr ""
@@ -118,10 +118,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr ""
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr ""
@@ -147,19 +148,22 @@ msgstr ""
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -171,79 +175,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr ""
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr ""
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr ""
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index ae5dbeb4d0..0bd8a11455 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-28 05:05+0000\n"
-"PO-Revision-Date: 2021-07-28 05:13\n"
+"POT-Creation-Date: 2021-08-07 15:14+0000\n"
+"PO-Revision-Date: 2021-08-07 15:30\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -36,7 +36,7 @@ msgstr "输入日期"
#: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63
-#: order/forms.py:74 part/forms.py:109 templates/js/forms.js:526
+#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545
msgid "Confirm"
msgstr "确认"
@@ -68,36 +68,36 @@ msgstr "确认新密码"
msgid "Select Category"
msgstr "选择分类"
-#: InvenTree/helpers.py:396
+#: InvenTree/helpers.py:401
#, python-brace-format
msgid "Duplicate serial: {n}"
msgstr ""
-#: InvenTree/helpers.py:403 order/models.py:315 order/models.py:425
-#: stock/views.py:1295
+#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425
+#: stock/views.py:1363
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:406
+#: InvenTree/helpers.py:411
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:428 InvenTree/helpers.py:431 InvenTree/helpers.py:434
-#: InvenTree/helpers.py:459
+#: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439
+#: InvenTree/helpers.py:464
#, python-brace-format
msgid "Invalid group: {g}"
msgstr ""
-#: InvenTree/helpers.py:464
+#: InvenTree/helpers.py:469
#, python-brace-format
msgid "Duplicate serial: {g}"
msgstr ""
-#: InvenTree/helpers.py:472
+#: InvenTree/helpers.py:477
msgid "No serial numbers found"
msgstr "未找到序列号"
-#: InvenTree/helpers.py:476
+#: InvenTree/helpers.py:481
#, python-brace-format
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
@@ -110,7 +110,7 @@ msgstr "附件"
msgid "Select file to attach"
msgstr "选择附件"
-#: InvenTree/models.py:64 templates/js/attachment.js:52
+#: InvenTree/models.py:64 templates/js/translated/attachment.js:52
msgid "Comment"
msgstr "注释"
@@ -118,10 +118,10 @@ msgstr "注释"
msgid "File comment"
msgstr "文件注释"
-#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:879
-#: common/models.py:880 part/models.py:2097
+#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969
+#: common/models.py:970 part/models.py:2035
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1538
+#: templates/js/translated/stock.js:1549
msgid "User"
msgstr "用户"
@@ -134,11 +134,12 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412
-#: label/models.py:112 part/models.py:718 part/models.py:2246
-#: report/models.py:181 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/company.js:545
-#: templates/js/part.js:206 templates/js/part.js:339 templates/js/part.js:831
-#: templates/js/stock.js:1331
+#: label/models.py:112 part/models.py:656 part/models.py:2196
+#: part/templates/part/part_base.html:233 report/models.py:181
+#: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289
+#: templates/js/translated/company.js:583 templates/js/translated/part.js:338
+#: templates/js/translated/part.js:471 templates/js/translated/part.js:963
+#: templates/js/translated/stock.js:1342
msgid "Name"
msgstr "名称"
@@ -147,19 +148,22 @@ msgstr "名称"
#: company/models.py:519 company/templates/company/manufacturer_part.html:76
#: company/templates/company/supplier_part.html:75 label/models.py:119
#: order/models.py:158 order/templates/order/purchase_order_detail.html:312
-#: part/models.py:741 part/templates/part/set_category.html:14
-#: report/models.py:194 report/models.py:551 report/models.py:590
+#: part/models.py:679 part/templates/part/part_base.html:238
+#: part/templates/part/set_category.html:14 report/models.py:194
+#: report/models.py:551 report/models.py:590
#: report/templates/report/inventree_build_order_base.html:118
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
-#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:868 templates/js/build.js:1162
-#: templates/js/company.js:261 templates/js/company.js:459
-#: templates/js/company.js:741 templates/js/order.js:247
-#: templates/js/order.js:349 templates/js/part.js:265 templates/js/part.js:449
-#: templates/js/part.js:626 templates/js/part.js:843 templates/js/part.js:911
-#: templates/js/stock.js:917 templates/js/stock.js:1343
-#: templates/js/stock.js:1388
+#: templates/InvenTree/settings/header.html:9
+#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868
+#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299
+#: templates/js/translated/company.js:497
+#: templates/js/translated/company.js:779 templates/js/translated/order.js:267
+#: templates/js/translated/order.js:369 templates/js/translated/part.js:397
+#: templates/js/translated/part.js:581 templates/js/translated/part.js:758
+#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043
+#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354
+#: templates/js/translated/stock.js:1399
msgid "Description"
msgstr ""
@@ -171,79 +175,79 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:52 part/models.py:2482
+#: InvenTree/serializers.py:52 part/models.py:2438
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:518
msgid "German"
msgstr ""
-#: InvenTree/settings.py:506
+#: InvenTree/settings.py:519
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:507
+#: InvenTree/settings.py:520
msgid "English"
msgstr ""
-#: InvenTree/settings.py:508
+#: InvenTree/settings.py:521
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:509
+#: InvenTree/settings.py:522
msgid "French"
msgstr ""
-#: InvenTree/settings.py:510
+#: InvenTree/settings.py:523
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:511
+#: InvenTree/settings.py:524
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:512
+#: InvenTree/settings.py:525
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:513
+#: InvenTree/settings.py:526
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:514
+#: InvenTree/settings.py:527
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:515
+#: InvenTree/settings.py:528
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:516
+#: InvenTree/settings.py:529
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:517
+#: InvenTree/settings.py:530
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:518
+#: InvenTree/settings.py:531
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:519
+#: InvenTree/settings.py:532
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:520
+#: InvenTree/settings.py:533
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:521
+#: InvenTree/settings.py:534
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:522
+#: InvenTree/settings.py:535
msgid "Chinese"
msgstr ""
@@ -368,7 +372,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:294 templates/js/table_filters.js:185
+#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173
msgid "Sent to customer"
msgstr ""
@@ -428,27 +432,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:609
+#: InvenTree/views.py:612
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:658
+#: InvenTree/views.py:661
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:673 templates/InvenTree/settings/user.html:14
+#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:684 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:703
+#: InvenTree/views.py:706
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:897 templates/navbar.html:95
+#: InvenTree/views.py:907 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -505,8 +509,8 @@ msgstr ""
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:945 templates/js/order.js:264
-#: templates/js/order.js:367
+#: templates/js/translated/build.js:945 templates/js/translated/order.js:284
+#: templates/js/translated/order.js:387
msgid "Target Date"
msgstr ""
@@ -518,7 +522,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:34 common/models.py:908
+#: build/templates/build/detail.html:34 common/models.py:1001
#: company/forms.py:42 company/templates/company/supplier_part.html:226
#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706
#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30
@@ -527,23 +531,24 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:200
#: order/templates/order/sales_order_detail.html:207
#: order/templates/order/sales_order_detail.html:292
-#: order/templates/order/sales_order_detail.html:364 part/forms.py:323
-#: part/forms.py:353 part/forms.py:369 part/forms.py:385 part/models.py:2384
+#: order/templates/order/sales_order_detail.html:364 part/forms.py:249
+#: part/forms.py:265 part/forms.py:281 part/models.py:2340
#: part/templates/part/bom_upload/match_parts.html:31
-#: part/templates/part/detail.html:939 part/templates/part/detail.html:1025
+#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026
#: part/templates/part/part_pricing.html:16
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:141 stock/forms.py:247
-#: stock/templates/stock/item_base.html:267
-#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:271 templates/js/build.js:606
-#: templates/js/build.js:1172 templates/js/model_renderers.js:56
-#: templates/js/order.js:462 templates/js/part.js:1016
-#: templates/js/part.js:1138 templates/js/part.js:1194
-#: templates/js/stock.js:1523 templates/js/stock.js:1721
+#: stock/forms.py:140 stock/templates/stock/item_base.html:269
+#: stock/templates/stock/stock_adjust.html:18
+#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225
+#: 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:1148
+#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326
+#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732
msgid "Quantity"
msgstr ""
@@ -555,7 +560,7 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:95 order/forms.py:114 stock/forms.py:84
+#: build/forms.py:95 order/forms.py:114 stock/forms.py:83
msgid "Serial Numbers"
msgstr ""
@@ -584,13 +589,13 @@ msgid "Mark build as complete"
msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
-#: stock/forms.py:286 stock/templates/stock/item_base.html:297
+#: stock/forms.py:280 stock/templates/stock/item_base.html:299
#: stock/templates/stock/stock_adjust.html:17
-#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:256
-#: templates/js/build.js:620 templates/js/order.js:447
-#: templates/js/stock.js:124 templates/js/stock.js:250
-#: templates/js/stock.js:1003 templates/js/stock.js:1415
+#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256
+#: templates/js/translated/build.js:620 templates/js/translated/order.js:467
+#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260
+#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426
msgid "Location"
msgstr ""
@@ -601,11 +606,11 @@ msgstr ""
#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:62 order/models.py:549
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:420 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:902
-#: templates/js/order.js:251 templates/js/order.js:354
-#: templates/js/stock.js:990 templates/js/stock.js:1492
-#: templates/js/stock.js:1737
+#: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252
+#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902
+#: templates/js/translated/order.js:271 templates/js/translated/order.js:374
+#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503
+#: templates/js/translated/stock.js:1748
msgid "Status"
msgstr ""
@@ -644,7 +649,7 @@ msgstr ""
#: build/models.py:117 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:73
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/build.js:233
+#: templates/js/translated/build.js:233
msgid "Build Order"
msgstr ""
@@ -655,8 +660,8 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42
#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/navbar.html:89
-#: templates/InvenTree/settings/navbar.html:91 users/models.py:44
+#: templates/InvenTree/settings/navbar.html:101
+#: templates/InvenTree/settings/navbar.html:103 users/models.py:44
msgid "Build Orders"
msgstr ""
@@ -666,11 +671,12 @@ msgstr ""
#: build/models.py:179 order/models.py:246 order/models.py:533
#: order/models.py:713 order/templates/order/purchase_order_detail.html:343
-#: order/templates/order/sales_order_detail.html:359 part/models.py:2393
+#: order/templates/order/sales_order_detail.html:359 part/models.py:2349
#: part/templates/part/bom_upload/match_parts.html:30
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:695 templates/js/build.js:1166
+#: report/templates/report/inventree_so_report.html:92
+#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695
+#: templates/js/translated/build.js:1166
msgid "Reference"
msgstr ""
@@ -694,10 +700,10 @@ msgstr ""
#: order/templates/order/order_wizard/select_parts.html:32
#: order/templates/order/purchase_order_detail.html:297
#: order/templates/order/receive_parts.html:19
-#: order/templates/order/sales_order_detail.html:344 part/models.py:347
-#: part/models.py:2042 part/models.py:2058 part/models.py:2077
-#: part/models.py:2095 part/models.py:2174 part/models.py:2278
-#: part/models.py:2368 part/templates/part/detail.html:199
+#: order/templates/order/sales_order_detail.html:344 part/models.py:295
+#: part/models.py:1980 part/models.py:1996 part/models.py:2015
+#: part/models.py:2033 part/models.py:2112 part/models.py:2234
+#: part/models.py:2324 part/templates/part/detail.html:199
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -705,12 +711,12 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
-#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:586 templates/js/build.js:873
-#: templates/js/build.js:1139 templates/js/company.js:400
-#: templates/js/company.js:650 templates/js/part.js:430
-#: templates/js/part.js:593 templates/js/stock.js:122 templates/js/stock.js:886
-#: templates/js/stock.js:1709
+#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183
+#: templates/js/translated/build.js:586 templates/js/translated/build.js:873
+#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438
+#: templates/js/translated/company.js:688 templates/js/translated/part.js:562
+#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132
+#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720
msgid "Part"
msgstr ""
@@ -758,7 +764,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:257 part/templates/part/part_base.html:225
+#: build/models.py:257 part/templates/part/part_base.html:191
msgid "Build Status"
msgstr ""
@@ -774,8 +780,8 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:272 order/models.py:162 part/models.py:913
-#: part/templates/part/part_base.html:143 templates/js/order.js:362
+#: build/models.py:272 order/models.py:162 part/models.py:851
+#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382
msgid "Creation Date"
msgstr ""
@@ -783,7 +789,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:280 order/models.py:288 templates/js/build.js:950
+#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950
msgid "Completion Date"
msgstr ""
@@ -791,7 +797,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:294 templates/js/build.js:915
+#: build/models.py:294 templates/js/translated/build.js:915
msgid "Issued by"
msgstr ""
@@ -802,8 +808,9 @@ msgstr ""
#: build/models.py:303 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:108 order/models.py:176
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:140 part/models.py:917
+#: order/templates/order/sales_order_base.html:140 part/models.py:855
#: report/templates/report/inventree_build_order_base.html:159
+#: templates/js/translated/build.js:930
msgid "Responsible"
msgstr ""
@@ -814,12 +821,12 @@ msgstr ""
#: build/models.py:309 build/templates/build/detail.html:94
#: company/templates/company/manufacturer_part.html:83
#: company/templates/company/supplier_part.html:82
-#: part/templates/part/part_base.html:137 stock/models.py:501
-#: stock/templates/stock/item_base.html:357
+#: part/templates/part/part_base.html:258 stock/models.py:501
+#: stock/templates/stock/item_base.html:359
msgid "External Link"
msgstr ""
-#: build/models.py:310 part/models.py:775 stock/models.py:503
+#: build/models.py:310 part/models.py:713 stock/models.py:503
msgid "Link to external URL"
msgstr ""
@@ -832,16 +839,16 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:419
#: order/templates/order/sales_order_detail.html:439
#: order/templates/order/so_navbar.html:33
-#: order/templates/order/so_navbar.html:36 part/models.py:902
+#: order/templates/order/so_navbar.html:36 part/models.py:840
#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108
#: part/templates/part/navbar.html:111
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:139 stock/forms.py:256 stock/forms.py:288 stock/models.py:573
+#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573
#: stock/models.py:1715 stock/models.py:1821
-#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:349 templates/js/company.js:746
-#: templates/js/stock.js:258 templates/js/stock.js:499
-#: templates/js/stock.js:1082
+#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37
+#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784
+#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509
+#: templates/js/translated/stock.js:1090
msgid "Notes"
msgstr ""
@@ -891,8 +898,8 @@ msgstr ""
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1372 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:183 templates/js/build.js:846
+#: build/models.py:1372 stock/templates/stock/item_base.html:331
+#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846
#: templates/navbar.html:29
msgid "Build"
msgstr ""
@@ -903,11 +910,11 @@ msgstr ""
#: build/models.py:1389 stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:31
-#: stock/templates/stock/item_base.html:351
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:244
-#: templates/js/build.js:249 templates/js/build.js:993
-#: templates/js/order.js:435 templates/js/order.js:440
-#: templates/js/stock.js:1474
+#: stock/templates/stock/item_base.html:353
+#: stock/templates/stock/stock_adjust.html:16
+#: templates/js/translated/build.js:244 templates/js/translated/build.js:249
+#: templates/js/translated/build.js:993 templates/js/translated/order.js:455
+#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485
msgid "Stock Item"
msgstr ""
@@ -932,8 +939,9 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:205
#: order/templates/order/sales_order_detail.html:290
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:495 stock/templates/stock/item_base.html:249
-#: templates/js/build.js:604 templates/js/model_renderers.js:54
+#: stock/models.py:495 stock/templates/stock/item_base.html:251
+#: templates/js/translated/build.js:604
+#: templates/js/translated/model_renderers.js:54
msgid "Serial Number"
msgstr ""
@@ -985,7 +993,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:30
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:37
-#: part/templates/part/category.html:27 part/templates/part/part_base.html:22
+#: part/templates/part/category.html:27 part/templates/part/part_base.html:25
#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
@@ -997,8 +1005,9 @@ msgstr ""
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:43
#: order/templates/order/sales_order_base.html:88
-#: templates/js/table_filters.js:254 templates/js/table_filters.js:273
-#: templates/js/table_filters.js:290
+#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:295
msgid "Overdue"
msgstr ""
@@ -1028,6 +1037,10 @@ msgstr ""
msgid "Cancel Build"
msgstr ""
+#: build/templates/build/build_base.html:114
+msgid "Delete Build"
+msgstr ""
+
#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:15
msgid "Build Details"
@@ -1050,7 +1063,8 @@ msgstr ""
#: order/templates/order/sales_order_ship.html:25
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:291 templates/js/order.js:309
+#: stock/templates/stock/item_base.html:293
+#: templates/js/translated/order.js:329
msgid "Sales Order"
msgstr ""
@@ -1160,7 +1174,7 @@ msgstr ""
#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782
#: order/templates/order/purchase_order_detail.html:408
-#: order/templates/order/receive_parts.html:25 stock/forms.py:135
+#: order/templates/order/receive_parts.html:25 stock/forms.py:134
msgid "Destination"
msgstr ""
@@ -1169,15 +1183,17 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:73
-#: stock/templates/stock/item_base.html:315 templates/js/stock.js:998
-#: templates/js/stock.js:1744 templates/js/table_filters.js:116
-#: templates/js/table_filters.js:210
+#: stock/templates/stock/item_base.html:317
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:198
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:119
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:113 templates/js/build.js:910
+#: order/templates/order/sales_order_base.html:113
+#: templates/js/translated/build.js:910
msgid "Created"
msgstr ""
@@ -1185,7 +1201,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:135 templates/js/build.js:888
+#: build/templates/build/detail.html:135 templates/js/translated/build.js:888
msgid "Completed"
msgstr ""
@@ -1209,7 +1225,7 @@ msgstr ""
msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/detail.html:175 templates/js/build.js:778
+#: build/templates/build/detail.html:175 templates/js/translated/build.js:778
msgid "Unallocate stock"
msgstr ""
@@ -1290,7 +1306,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:58
#: order/templates/order/sales_order_detail.html:85
#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102
-#: stock/templates/stock/item.html:168
+#: stock/templates/stock/item.html:187
msgid "Edit Notes"
msgstr ""
@@ -1298,7 +1314,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:79
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/sales_order_detail.html:145
-#: part/templates/part/detail.html:801 stock/templates/stock/item.html:232
+#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251
#: templates/attachment_table.html:6
msgid "Add Attachment"
msgstr ""
@@ -1307,7 +1323,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:51
#: order/templates/order/purchase_order_detail.html:128
#: order/templates/order/sales_order_detail.html:118
-#: part/templates/part/detail.html:755 stock/templates/stock/item.html:200
+#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219
msgid "Edit Attachment"
msgstr ""
@@ -1315,7 +1331,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:58
#: order/templates/order/purchase_order_detail.html:135
#: order/templates/order/sales_order_detail.html:124
-#: part/templates/part/detail.html:764 stock/templates/stock/item.html:209
+#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228
msgid "Confirm Delete Operation"
msgstr ""
@@ -1323,7 +1339,7 @@ msgstr ""
#: order/templates/order/po_attachments.html:59
#: order/templates/order/purchase_order_detail.html:136
#: order/templates/order/sales_order_detail.html:125
-#: part/templates/part/detail.html:765 stock/templates/stock/item.html:210
+#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229
msgid "Delete Attachment"
msgstr ""
@@ -1356,7 +1372,7 @@ msgid "Build Order Details"
msgstr ""
#: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15
-#: templates/js/stock.js:1403
+#: templates/js/translated/stock.js:1414
msgid "Details"
msgstr ""
@@ -1401,7 +1417,7 @@ msgstr ""
msgid "Maximum output quantity is "
msgstr ""
-#: build/views.py:183 stock/views.py:1321
+#: build/views.py:183 stock/views.py:1389
msgid "Serial numbers already exist"
msgstr ""
@@ -1417,7 +1433,7 @@ msgstr ""
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:280 build/views.py:370 stock/views.py:386
+#: build/views.py:280 build/views.py:370 stock/views.py:404
msgid "Check the confirmation box"
msgstr ""
@@ -1485,8 +1501,9 @@ msgstr ""
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:705 templates/js/bom.js:230 templates/js/build.js:705
-#: templates/js/build.js:1000 templates/js/build.js:1179
+#: build/views.py:705 templates/js/translated/bom.js:250
+#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000
+#: templates/js/translated/build.js:1179
msgid "Available"
msgstr ""
@@ -1522,7 +1539,7 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:34 templates/js/attachment.js:42
+#: common/forms.py:34 templates/js/translated/attachment.js:42
msgid "File"
msgstr ""
@@ -1539,524 +1556,546 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:259 common/models.py:739 common/models.py:872
+#: common/models.py:322 common/models.py:815 common/models.py:962
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:261
+#: common/models.py:324
msgid "Settings value"
msgstr ""
-#: common/models.py:296
+#: common/models.py:359
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:319
+#: common/models.py:382
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:330
+#: common/models.py:393
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:353
+#: common/models.py:416
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:448
+#: common/models.py:523
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:450
+#: common/models.py:525
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:454
+#: common/models.py:529
msgid "Use instance name"
msgstr ""
-#: common/models.py:455
+#: common/models.py:530
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:461 company/models.py:97 company/models.py:98
+#: common/models.py:536 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr ""
-#: common/models.py:462
+#: common/models.py:537
msgid "Internal company name"
msgstr ""
-#: common/models.py:467
+#: common/models.py:542
msgid "Base URL"
msgstr ""
-#: common/models.py:468
+#: common/models.py:543
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:474
+#: common/models.py:549
msgid "Default Currency"
msgstr ""
-#: common/models.py:475
+#: common/models.py:550
msgid "Default currency"
msgstr ""
-#: common/models.py:481
+#: common/models.py:556
msgid "Download from URL"
msgstr ""
-#: common/models.py:482
+#: common/models.py:557
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:488
+#: common/models.py:563
msgid "Barcode Support"
msgstr ""
-#: common/models.py:489
+#: common/models.py:564
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:495
+#: common/models.py:570
msgid "IPN Regex"
msgstr ""
-#: common/models.py:496
+#: common/models.py:571
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:500
+#: common/models.py:575
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:501
+#: common/models.py:576
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:507
+#: common/models.py:582
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:508
+#: common/models.py:583
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:514
+#: common/models.py:589
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:515
+#: common/models.py:590
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:521
+#: common/models.py:596
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:522
+#: common/models.py:597
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:528
+#: common/models.py:603
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:529
+#: common/models.py:604
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:535
+#: common/models.py:610
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:536
+#: common/models.py:611
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:542 part/models.py:2280 report/models.py:187
-#: stock/forms.py:225 templates/js/table_filters.js:25
-#: templates/js/table_filters.js:324
+#: common/models.py:617 part/models.py:2236 report/models.py:187
+#: stock/forms.py:224 templates/js/translated/table_filters.js:25
+#: templates/js/translated/table_filters.js:329
msgid "Template"
msgstr ""
-#: common/models.py:543
+#: common/models.py:618
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:549 part/models.py:865 templates/js/table_filters.js:132
-#: templates/js/table_filters.js:336
+#: common/models.py:624 part/models.py:803
+#: templates/js/translated/table_filters.js:133
+#: templates/js/translated/table_filters.js:341
msgid "Assembly"
msgstr ""
-#: common/models.py:550
+#: common/models.py:625
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:556 part/models.py:871 templates/js/table_filters.js:340
+#: common/models.py:631 part/models.py:809
+#: templates/js/translated/table_filters.js:345
msgid "Component"
msgstr ""
-#: common/models.py:557
+#: common/models.py:632
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:563 part/models.py:882
+#: common/models.py:638 part/models.py:820
msgid "Purchaseable"
msgstr ""
-#: common/models.py:564
+#: common/models.py:639
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:570 part/models.py:887 templates/js/table_filters.js:348
+#: common/models.py:645 part/models.py:825
+#: templates/js/translated/table_filters.js:353
msgid "Salable"
msgstr ""
-#: common/models.py:571
+#: common/models.py:646
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:577 part/models.py:877 templates/js/table_filters.js:33
-#: templates/js/table_filters.js:352
+#: common/models.py:652 part/models.py:815
+#: templates/js/translated/table_filters.js:33
+#: templates/js/translated/table_filters.js:357
msgid "Trackable"
msgstr ""
-#: common/models.py:578
+#: common/models.py:653
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:584 part/models.py:897 templates/js/table_filters.js:29
+#: common/models.py:659 part/models.py:835
+#: part/templates/part/part_base.html:61
+#: templates/js/translated/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:585
+#: common/models.py:660
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:591
+#: common/models.py:667
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:592
+#: common/models.py:668
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:598
+#: common/models.py:674
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:599
+#: common/models.py:675
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:605
+#: common/models.py:681
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:606
+#: common/models.py:682
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:612
+#: common/models.py:688
msgid "Show related parts"
msgstr ""
-#: common/models.py:613
+#: common/models.py:689
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:619
+#: common/models.py:695
msgid "Create initial stock"
msgstr ""
-#: common/models.py:620
+#: common/models.py:696
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:626
+#: common/models.py:702
msgid "Internal Prices"
msgstr ""
-#: common/models.py:627
+#: common/models.py:703
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:633
+#: common/models.py:709
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:634
+#: common/models.py:710
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:640 templates/stats.html:25
+#: common/models.py:716 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:641
+#: common/models.py:717
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:647
+#: common/models.py:723
msgid "Page Size"
msgstr ""
-#: common/models.py:648
+#: common/models.py:724
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:658
+#: common/models.py:734
msgid "Test Reports"
msgstr ""
-#: common/models.py:659
+#: common/models.py:735
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:665
+#: common/models.py:741
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:666
+#: common/models.py:742
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:672
+#: common/models.py:748
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:673
+#: common/models.py:749
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:679
+#: common/models.py:755
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:680
+#: common/models.py:756
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:682
+#: common/models.py:758
msgid "days"
msgstr ""
-#: common/models.py:687
+#: common/models.py:763
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:688
+#: common/models.py:764
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:694
+#: common/models.py:770
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:695
+#: common/models.py:771
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:701
+#: common/models.py:777
msgid "Group by Part"
msgstr ""
-#: common/models.py:702
+#: common/models.py:778
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:708
+#: common/models.py:784
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:709
+#: common/models.py:785
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:714
+#: common/models.py:790
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:715
+#: common/models.py:791
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:719
+#: common/models.py:795
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:720
+#: common/models.py:796
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:725
+#: common/models.py:801
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:726
+#: common/models.py:802
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:750
+#: common/models.py:826
msgid "Show starred parts"
msgstr ""
-#: common/models.py:751
+#: common/models.py:827
msgid "Show starred parts on the homepage"
msgstr ""
-#: common/models.py:756
+#: common/models.py:832
msgid "Show latest parts"
msgstr ""
-#: common/models.py:757
+#: common/models.py:833
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:762
+#: common/models.py:838
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:763
+#: common/models.py:839
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:769
+#: common/models.py:845
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:770
+#: common/models.py:846
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:775
+#: common/models.py:851
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:776
+#: common/models.py:852
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:781
+#: common/models.py:857
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:782
+#: common/models.py:858
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:787
+#: common/models.py:863
msgid "Show low stock"
msgstr ""
-#: common/models.py:788
+#: common/models.py:864
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:793
+#: common/models.py:869
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:794
+#: common/models.py:870
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:799
+#: common/models.py:875
msgid "Show needed stock"
msgstr ""
-#: common/models.py:800
+#: common/models.py:876
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:805
+#: common/models.py:881
msgid "Show expired stock"
msgstr ""
-#: common/models.py:806
+#: common/models.py:882
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:811
+#: common/models.py:887
msgid "Show stale stock"
msgstr ""
-#: common/models.py:812
+#: common/models.py:888
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:817
+#: common/models.py:893
msgid "Show pending builds"
msgstr ""
-#: common/models.py:818
+#: common/models.py:894
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:823
+#: common/models.py:899
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:824
+#: common/models.py:900
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:829
+#: common/models.py:905
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:830
+#: common/models.py:906
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:835
+#: common/models.py:911
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:836
+#: common/models.py:912
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:841
+#: common/models.py:917
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:842
+#: common/models.py:918
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:847
+#: common/models.py:923
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:848
+#: common/models.py:924
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:854
+#: common/models.py:930
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:931
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:937
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:938
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:944
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:855
+#: common/models.py:945
msgid "Number of results to show in search preview window"
msgstr ""
-#: common/models.py:909 company/forms.py:43
+#: common/models.py:1002 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:916 company/templates/company/supplier_part.html:231
-#: templates/js/part.js:1021
+#: common/models.py:1009 company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:1153
msgid "Price"
msgstr ""
-#: common/models.py:917
+#: common/models.py:1010
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1103
msgid "Default"
msgstr ""
@@ -2085,16 +2124,16 @@ msgstr ""
#: order/templates/order/po_navbar.html:22
#: order/templates/order/purchase_order_detail.html:26 order/views.py:290
#: part/templates/part/bom_upload/upload_file.html:45
-#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:634
-#: part/views.py:1248
+#: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268
+#: part/views.py:882
msgid "Upload File"
msgstr ""
#: common/views.py:214 order/templates/order/order_wizard/match_fields.html:52
#: order/views.py:291 part/templates/part/bom_upload/match_fields.html:52
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:635
-#: part/views.py:1249
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:269
+#: part/views.py:883
msgid "Match Fields"
msgstr ""
@@ -2122,11 +2161,11 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/forms.py:24 part/forms.py:47
+#: company/forms.py:24 part/forms.py:46
msgid "URL"
msgstr ""
-#: company/forms.py:25 part/forms.py:48
+#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
msgstr ""
@@ -2139,7 +2178,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:109 company/templates/company/company_base.html:70
-#: templates/js/company.js:265
+#: templates/js/translated/company.js:303
msgid "Website"
msgstr ""
@@ -2180,10 +2219,10 @@ msgid "Point of contact"
msgstr ""
#: company/models.py:128 company/models.py:345 company/models.py:513
-#: order/models.py:160 part/models.py:774
+#: order/models.py:160 part/models.py:712
#: report/templates/report/inventree_build_order_base.html:165
-#: templates/js/company.js:448 templates/js/company.js:730
-#: templates/js/part.js:687
+#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:768 templates/js/translated/part.js:819
msgid "Link"
msgstr ""
@@ -2191,7 +2230,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:784
+#: company/models.py:136 part/models.py:722
msgid "Image"
msgstr ""
@@ -2229,7 +2268,7 @@ msgid "Default currency used for this company"
msgstr ""
#: company/models.py:317 company/models.py:484 stock/models.py:448
-#: stock/templates/stock/item_base.html:235
+#: stock/templates/stock/item_base.html:237
msgid "Base Part"
msgstr ""
@@ -2240,9 +2279,10 @@ msgstr ""
#: company/models.py:332 company/templates/company/company_base.html:116
#: company/templates/company/manufacturer_part.html:89
#: company/templates/company/supplier_part.html:98 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:364
-#: templates/js/company.js:249 templates/js/company.js:425
-#: templates/js/company.js:701
+#: part/bom.py:241 stock/templates/stock/item_base.html:366
+#: templates/js/translated/company.js:287
+#: templates/js/translated/company.js:463
+#: templates/js/translated/company.js:739
msgid "Manufacturer"
msgstr ""
@@ -2253,7 +2293,8 @@ msgstr ""
#: company/models.py:339 company/templates/company/manufacturer_part.html:93
#: company/templates/company/supplier_part.html:106
#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171
-#: part/bom.py:242 templates/js/company.js:441 templates/js/company.js:719
+#: part/bom.py:242 templates/js/translated/company.js:479
+#: templates/js/translated/company.js:757
msgid "MPN"
msgstr ""
@@ -2272,7 +2313,7 @@ msgstr ""
#: company/models.py:406 company/models.py:507
#: company/templates/company/manufacturer_part.html:6
#: company/templates/company/manufacturer_part.html:23
-#: stock/templates/stock/item_base.html:374
+#: stock/templates/stock/item_base.html:376
msgid "Manufacturer Part"
msgstr ""
@@ -2283,8 +2324,8 @@ msgstr ""
#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:90
#: stock/models.py:1808 templates/InvenTree/settings/header.html:8
-#: templates/js/company.js:551 templates/js/part.js:348
-#: templates/js/stock.js:495
+#: templates/js/translated/company.js:589 templates/js/translated/part.js:480
+#: templates/js/translated/stock.js:505
msgid "Value"
msgstr ""
@@ -2292,8 +2333,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:426 part/models.py:859 part/models.py:2248
-#: templates/js/company.js:557 templates/js/part.js:354
+#: company/models.py:426 part/models.py:797 part/models.py:2204
+#: templates/js/translated/company.js:595 templates/js/translated/part.js:486
msgid "Units"
msgstr ""
@@ -2305,9 +2346,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:88 order/models.py:260
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:381
-#: templates/js/company.js:253 templates/js/company.js:675
-#: templates/js/order.js:234
+#: part/bom.py:286 stock/templates/stock/item_base.html:383
+#: templates/js/translated/company.js:291
+#: templates/js/translated/company.js:713 templates/js/translated/order.js:254
msgid "Supplier"
msgstr ""
@@ -2338,22 +2379,22 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:525 company/templates/company/supplier_part.html:120
-#: part/models.py:2396 report/templates/report/inventree_po_report.html:93
+#: part/models.py:2352 report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "base cost"
msgstr ""
-#: company/models.py:529 part/models.py:1652
+#: company/models.py:529 part/models.py:1590
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:531 company/templates/company/supplier_part.html:113
-#: stock/models.py:472 stock/templates/stock/item_base.html:322
-#: templates/js/company.js:751 templates/js/stock.js:1078
+#: stock/models.py:472 stock/templates/stock/item_base.html:324
+#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086
msgid "Packaging"
msgstr ""
@@ -2361,7 +2402,7 @@ msgstr ""
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 part/models.py:1654
+#: company/models.py:533 part/models.py:1592
msgid "multiple"
msgstr ""
@@ -2379,7 +2420,7 @@ msgstr ""
#: company/templates/company/company_base.html:9
#: company/templates/company/company_base.html:35
-#: templates/InvenTree/search.html:304 templates/js/company.js:238
+#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276
msgid "Company"
msgstr ""
@@ -2393,7 +2434,8 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:46 templates/js/order.js:63
+#: company/templates/company/company_base.html:46
+#: templates/js/translated/order.js:83
msgid "Create Purchase Order"
msgstr ""
@@ -2420,14 +2462,14 @@ msgstr ""
#: company/templates/company/company_base.html:126 order/models.py:544
#: order/templates/order/sales_order_base.html:94 stock/models.py:490
-#: stock/models.py:491 stock/templates/stock/item_base.html:274
-#: templates/js/company.js:245 templates/js/order.js:331
-#: templates/js/stock.js:1456
+#: stock/models.py:491 stock/templates/stock/item_base.html:276
+#: templates/js/translated/company.js:283 templates/js/translated/order.js:351
+#: templates/js/translated/stock.js:1467
msgid "Customer"
msgstr ""
#: company/templates/company/company_base.html:193
-#: part/templates/part/part_base.html:353
+#: part/templates/part/part_base.html:405
msgid "Upload Image"
msgstr ""
@@ -2439,13 +2481,12 @@ msgstr ""
#: company/templates/company/detail.html:22
#: order/templates/order/order_wizard/select_parts.html:44
-#: templates/js/part.js:79
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:23
#: company/templates/company/manufacturer_part.html:109
-#: part/templates/part/detail.html:289 templates/js/part.js:78
+#: part/templates/part/detail.html:289
msgid "New Supplier Part"
msgstr ""
@@ -2498,8 +2539,8 @@ msgstr ""
#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71
#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/navbar.html:95
-#: templates/InvenTree/settings/navbar.html:97 templates/navbar.html:37
+#: templates/InvenTree/settings/navbar.html:107
+#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37
#: users/models.py:45
msgid "Purchase Orders"
msgstr ""
@@ -2522,8 +2563,8 @@ msgstr ""
#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79
#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/navbar.html:101
-#: templates/InvenTree/settings/navbar.html:103 templates/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:113
+#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46
#: users/models.py:46
msgid "Sales Orders"
msgstr ""
@@ -2540,7 +2581,8 @@ msgstr ""
#: company/templates/company/detail.html:151
#: company/templates/company/navbar.html:55
-#: company/templates/company/navbar.html:58 templates/js/build.js:597
+#: company/templates/company/navbar.html:58
+#: templates/js/translated/build.js:597
msgid "Assigned Stock"
msgstr ""
@@ -2550,13 +2592,13 @@ msgstr ""
#: company/templates/company/detail.html:364
#: company/templates/company/manufacturer_part.html:200
-#: part/templates/part/detail.html:825
+#: part/templates/part/detail.html:826
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:365
#: company/templates/company/manufacturer_part.html:201
-#: part/templates/part/detail.html:826
+#: part/templates/part/detail.html:827
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -2567,17 +2609,17 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:40
#: company/templates/company/supplier_part.html:40
#: company/templates/company/supplier_part.html:146
-#: part/templates/part/detail.html:55 part/templates/part/part_base.html:101
+#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109
msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:45
-#: templates/js/company.js:473
+#: templates/js/translated/company.js:511
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:49
-#: templates/js/company.js:474
+#: templates/js/translated/company.js:512
msgid "Delete manufacturer part"
msgstr ""
@@ -2607,7 +2649,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:138
#: company/templates/company/manufacturer_part.html:239
#: part/templates/part/detail.html:214 part/templates/part/detail.html:294
-#: part/templates/part/detail.html:317 templates/js/company.js:339
+#: part/templates/part/detail.html:317 templates/js/translated/company.js:377
#: users/models.py:194
msgid "Delete"
msgstr ""
@@ -2634,7 +2676,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:176
-#: part/templates/part/detail.html:718
+#: part/templates/part/detail.html:719
msgid "Add Parameter"
msgstr ""
@@ -2658,10 +2700,11 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/navbar.html:83
-#: templates/InvenTree/settings/navbar.html:85 templates/js/part.js:269
-#: templates/js/part.js:494 templates/js/part.js:654 templates/js/stock.js:123
-#: templates/js/stock.js:926 templates/navbar.html:26
+#: templates/InvenTree/settings/navbar.html:95
+#: templates/InvenTree/settings/navbar.html:97
+#: templates/js/translated/part.js:401 templates/js/translated/part.js:626
+#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133
+#: templates/js/translated/stock.js:935 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2690,23 +2733,25 @@ msgstr ""
#: stock/templates/stock/location.html:148
#: stock/templates/stock/location_navbar.html:18
#: stock/templates/stock/location_navbar.html:21
-#: templates/InvenTree/search.html:198 templates/js/stock.js:1355
+#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366
#: templates/stats.html:93 templates/stats.html:102 users/models.py:43
msgid "Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:457
-#: stock/templates/stock/item_base.html:386 templates/js/company.js:691
-#: templates/js/stock.js:1050
+#: stock/templates/stock/item_base.html:388
+#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:44 templates/js/company.js:764
+#: company/templates/company/supplier_part.html:44
+#: templates/js/translated/company.js:802
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:48 templates/js/company.js:765
+#: company/templates/company/supplier_part.html:48
+#: templates/js/translated/company.js:803
msgid "Delete supplier part"
msgstr ""
@@ -2736,7 +2781,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:164
#: company/templates/company/supplier_part.html:265
-#: part/templates/part/prices.html:253 part/views.py:2259
+#: part/templates/part/prices.html:253 part/views.py:1722
msgid "Add Price Break"
msgstr ""
@@ -2744,11 +2789,11 @@ msgstr ""
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:199 part/views.py:2321
+#: company/templates/company/supplier_part.html:199 part/views.py:1784
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:213 part/views.py:2307
+#: company/templates/company/supplier_part.html:213 part/views.py:1770
msgid "Edit Price Break"
msgstr ""
@@ -2798,20 +2843,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:129 part/views.py:974
+#: company/views.py:129 part/views.py:608
msgid "Download Image"
msgstr ""
-#: company/views.py:158 part/views.py:1006
+#: company/views.py:158 part/views.py:640
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:165 part/views.py:1013
+#: company/views.py:165 part/views.py:647
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:174 part/views.py:1022
+#: company/views.py:174 part/views.py:656
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2827,7 +2872,7 @@ msgstr ""
msgid "Label description"
msgstr ""
-#: label/models.py:127 stock/forms.py:168
+#: label/models.py:127 stock/forms.py:167
msgid "Label"
msgstr ""
@@ -2946,7 +2991,7 @@ msgid "Company from which the items are being ordered"
msgstr ""
#: order/models.py:264 order/templates/order/order_base.html:98
-#: templates/js/order.js:243
+#: templates/js/translated/order.js:263
msgid "Supplier Reference"
msgstr ""
@@ -3014,7 +3059,7 @@ msgstr ""
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:559 templates/js/order.js:372
+#: order/models.py:559 templates/js/translated/order.js:392
msgid "Shipment Date"
msgstr ""
@@ -3038,15 +3083,16 @@ msgstr ""
msgid "Line item notes"
msgstr ""
-#: order/models.py:745 order/models.py:823 templates/js/order.js:422
+#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442
msgid "Order"
msgstr ""
#: order/models.py:746 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:336 templates/js/order.js:212
-#: templates/js/stock.js:1029 templates/js/stock.js:1437
+#: stock/templates/stock/item_base.html:338
+#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037
+#: templates/js/translated/stock.js:1448
msgid "Purchase Order"
msgstr ""
@@ -3066,7 +3112,8 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582
-#: stock/templates/stock/item_base.html:343 templates/js/stock.js:1073
+#: stock/templates/stock/item_base.html:345
+#: templates/js/translated/stock.js:1081
msgid "Purchase Price"
msgstr ""
@@ -3181,14 +3228,13 @@ msgstr ""
#: order/templates/order/order_base.html:196
#: order/templates/order/purchase_order_detail.html:265
-#: part/templates/part/category.html:255 part/templates/part/category.html:297
-#: stock/templates/stock/location.html:250 templates/js/part.js:64
+#: stock/templates/stock/location.html:250
msgid "New Location"
msgstr ""
#: order/templates/order/order_base.html:197
#: order/templates/order/purchase_order_detail.html:266
-#: stock/templates/stock/location.html:42 templates/js/part.js:65
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -3340,7 +3386,7 @@ msgid "Select existing purchase orders, or create new orders."
msgstr ""
#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/order.js:269 templates/js/order.js:377
+#: templates/js/translated/order.js:289 templates/js/translated/order.js:397
msgid "Items"
msgstr ""
@@ -3410,8 +3456,8 @@ msgid "Total"
msgstr ""
#: order/templates/order/purchase_order_detail.html:360
-#: order/templates/order/sales_order_detail.html:376 templates/js/part.js:996
-#: templates/js/part.js:1185
+#: order/templates/order/sales_order_detail.html:376
+#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317
msgid "Unit Price"
msgstr ""
@@ -3443,16 +3489,16 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:47
-#: part/models.py:348 part/templates/part/cat_link.html:7
+#: order/templates/order/receive_parts.html:14 part/api.py:49
+#: part/models.py:296 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:108 part/templates/part/category.html:122
#: part/templates/part/category_navbar.html:21
#: part/templates/part/category_navbar.html:24
#: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/navbar.html:71
-#: templates/InvenTree/settings/navbar.html:73 templates/js/part.js:855
-#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
-#: users/models.py:41
+#: templates/InvenTree/settings/navbar.html:83
+#: templates/InvenTree/settings/navbar.html:85
+#: templates/js/translated/part.js:987 templates/navbar.html:23
+#: templates/stats.html:80 templates/stats.html:89 users/models.py:41
msgid "Parts"
msgstr ""
@@ -3465,7 +3511,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:194 templates/js/part.js:670
+#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802
msgid "On Order"
msgstr ""
@@ -3493,7 +3539,8 @@ msgstr ""
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:100 templates/js/order.js:344
+#: order/templates/order/sales_order_base.html:100
+#: templates/js/translated/order.js:364
msgid "Customer Reference"
msgstr ""
@@ -3516,18 +3563,19 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:225 templates/js/bom.js:358
-#: templates/js/build.js:759 templates/js/build.js:1202
+#: order/templates/order/sales_order_detail.html:225
+#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759
+#: templates/js/translated/build.js:1202
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:232 templates/js/build.js:645
-#: templates/js/build.js:1011
+#: order/templates/order/sales_order_detail.html:232
+#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:233 templates/js/build.js:647
-#: templates/js/build.js:1012
+#: order/templates/order/sales_order_detail.html:233
+#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012
msgid "Delete stock allocation"
msgstr ""
@@ -3539,8 +3587,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:404 templates/js/build.js:710
-#: templates/js/build.js:1007
+#: order/templates/order/sales_order_detail.html:404
+#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007
msgid "Allocated"
msgstr ""
@@ -3556,7 +3604,8 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:476 templates/js/build.js:773
+#: order/templates/order/sales_order_detail.html:476
+#: templates/js/translated/build.js:773
msgid "Allocate stock"
msgstr ""
@@ -3564,8 +3613,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:483 templates/js/build.js:766
-#: templates/js/build.js:1210
+#: order/templates/order/sales_order_detail.html:483
+#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210
msgid "Build stock"
msgstr ""
@@ -3765,524 +3814,500 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/bom.py:133 part/models.py:74 part/models.py:793
-#: part/templates/part/category.html:75
+#: part/bom.py:133 part/models.py:73 part/models.py:731
+#: part/templates/part/category.html:75 part/templates/part/part_base.html:282
msgid "Default Location"
msgstr ""
-#: part/bom.py:134 part/templates/part/part_base.html:182
+#: part/bom.py:134 part/templates/part/part_base.html:149
msgid "Available Stock"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "File Format"
msgstr ""
-#: part/forms.py:64
+#: part/forms.py:63
msgid "Select output file format"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Cascading"
msgstr ""
-#: part/forms.py:66
+#: part/forms.py:65
msgid "Download cascading / multi-level BOM"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Levels"
msgstr ""
-#: part/forms.py:68
+#: part/forms.py:67
msgid "Select maximum number of BOM levels to export (0 = all levels)"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include Parameter Data"
msgstr ""
-#: part/forms.py:70
+#: part/forms.py:69
msgid "Include part parameters data in exported BOM"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include Stock Data"
msgstr ""
-#: part/forms.py:72
+#: part/forms.py:71
msgid "Include part stock data in exported BOM"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include Manufacturer Data"
msgstr ""
-#: part/forms.py:74
+#: part/forms.py:73
msgid "Include part manufacturer data in exported BOM"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include Supplier Data"
msgstr ""
-#: part/forms.py:76
+#: part/forms.py:75
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:97 part/models.py:2278
+#: part/forms.py:96 part/models.py:2234
msgid "Parent Part"
msgstr ""
-#: part/forms.py:98 part/templates/part/bom_duplicate.html:7
+#: part/forms.py:97 part/templates/part/bom_duplicate.html:7
msgid "Select parent part to copy BOM from"
msgstr ""
-#: part/forms.py:104
+#: part/forms.py:103
msgid "Clear existing BOM items"
msgstr ""
-#: part/forms.py:110
+#: part/forms.py:109
msgid "Confirm BOM duplication"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "validate"
msgstr ""
-#: part/forms.py:128
+#: part/forms.py:127
msgid "Confirm that the BOM is correct"
msgstr ""
-#: part/forms.py:171
+#: part/forms.py:170
msgid "Related Part"
msgstr ""
-#: part/forms.py:178
+#: part/forms.py:177
msgid "Select part category"
msgstr ""
-#: part/forms.py:195
-msgid "Duplicate all BOM data for this part"
-msgstr ""
-
-#: part/forms.py:196
-msgid "Copy BOM"
-msgstr ""
-
-#: part/forms.py:201
-msgid "Duplicate all parameter data for this part"
-msgstr ""
-
-#: part/forms.py:202
-msgid "Copy Parameters"
-msgstr ""
-
-#: part/forms.py:207
-msgid "Confirm part creation"
-msgstr ""
-
-#: part/forms.py:212
-msgid "Include category parameter templates"
-msgstr ""
-
-#: part/forms.py:217
-msgid "Include parent categories parameter templates"
-msgstr ""
-
-#: part/forms.py:222
-msgid "Initial stock amount"
-msgstr ""
-
-#: part/forms.py:223
-msgid "Create stock for this part"
-msgstr ""
-
-#: part/forms.py:303
+#: part/forms.py:226
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:307
+#: part/forms.py:230
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:325 part/models.py:2377
-msgid "Sub part"
-msgstr ""
-
-#: part/forms.py:354
+#: part/forms.py:250
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:75
+#: part/models.py:74
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords"
msgstr ""
-#: part/models.py:78
+#: part/models.py:77
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:88 part/models.py:2324
+#: part/models.py:87 part/models.py:2280
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:89 part/templates/part/category.html:32
+#: part/models.py:88 part/templates/part/category.html:32
#: part/templates/part/category.html:103 templates/InvenTree/search.html:127
#: templates/stats.html:84 users/models.py:40
msgid "Part Categories"
msgstr ""
-#: part/models.py:433
+#: part/models.py:381
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:495 part/models.py:507
+#: part/models.py:433 part/models.py:445
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:604
+#: part/models.py:542
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:608
+#: part/models.py:546
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:613
+#: part/models.py:551
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:692
+#: part/models.py:630
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:717
+#: part/models.py:655
msgid "Part name"
msgstr ""
-#: part/models.py:724
+#: part/models.py:662
msgid "Is Template"
msgstr ""
-#: part/models.py:725
+#: part/models.py:663
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:735
+#: part/models.py:673
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:736
+#: part/models.py:674
msgid "Variant Of"
msgstr ""
-#: part/models.py:742
+#: part/models.py:680
msgid "Part description"
msgstr ""
-#: part/models.py:747 part/templates/part/category.html:82
-#: part/templates/part/part_base.html:130
+#: part/models.py:685 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:251
msgid "Keywords"
msgstr ""
-#: part/models.py:748
+#: part/models.py:686
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:755 part/models.py:2323
+#: part/models.py:693 part/models.py:2279
#: part/templates/part/set_category.html:15
-#: templates/InvenTree/settings/settings.html:165 templates/js/part.js:641
+#: templates/InvenTree/settings/settings.html:167
+#: templates/js/translated/part.js:773
msgid "Category"
msgstr ""
-#: part/models.py:756
+#: part/models.py:694
msgid "Part category"
msgstr ""
-#: part/models.py:761 templates/js/part.js:257 templates/js/part.js:485
+#: part/models.py:699 part/templates/part/part_base.html:227
+#: templates/js/translated/part.js:389 templates/js/translated/part.js:617
msgid "IPN"
msgstr ""
-#: part/models.py:762
+#: part/models.py:700
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:768
+#: part/models.py:706
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:769 report/models.py:200 templates/js/part.js:261
+#: part/models.py:707 part/templates/part/part_base.html:244
+#: report/models.py:200 templates/js/translated/part.js:393
msgid "Revision"
msgstr ""
-#: part/models.py:791
+#: part/models.py:729
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:838
+#: part/models.py:776 part/templates/part/part_base.html:289
msgid "Default Supplier"
msgstr ""
-#: part/models.py:839
+#: part/models.py:777
msgid "Default supplier part"
msgstr ""
-#: part/models.py:846
+#: part/models.py:784
msgid "Default Expiry"
msgstr ""
-#: part/models.py:847
+#: part/models.py:785
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:852
+#: part/models.py:790
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:853
+#: part/models.py:791
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:860
+#: part/models.py:798
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:866
+#: part/models.py:804
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:872
+#: part/models.py:810
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:878
+#: part/models.py:816
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:883
+#: part/models.py:821
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:888
+#: part/models.py:826
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:892 templates/js/table_filters.js:21
-#: templates/js/table_filters.js:69 templates/js/table_filters.js:250
-#: templates/js/table_filters.js:319
+#: part/models.py:830 templates/js/translated/table_filters.js:21
+#: templates/js/translated/table_filters.js:69
+#: templates/js/translated/table_filters.js:255
+#: templates/js/translated/table_filters.js:324
msgid "Active"
msgstr ""
-#: part/models.py:893
+#: part/models.py:831
msgid "Is this part active?"
msgstr ""
-#: part/models.py:898
+#: part/models.py:836
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:903
+#: part/models.py:841
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "BOM checksum"
msgstr ""
-#: part/models.py:906
+#: part/models.py:844
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:909
+#: part/models.py:847
msgid "BOM checked by"
msgstr ""
-#: part/models.py:911
+#: part/models.py:849
msgid "BOM checked date"
msgstr ""
-#: part/models.py:915
+#: part/models.py:853
msgid "Creation User"
msgstr ""
-#: part/models.py:1654
+#: part/models.py:1592
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2142
+#: part/models.py:2080
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2159
+#: part/models.py:2097
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2179 templates/js/part.js:906 templates/js/stock.js:475
+#: part/models.py:2117 templates/js/translated/part.js:1038
+#: templates/js/translated/stock.js:485
msgid "Test Name"
msgstr ""
-#: part/models.py:2180
+#: part/models.py:2118
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2185
+#: part/models.py:2123
msgid "Test Description"
msgstr ""
-#: part/models.py:2186
+#: part/models.py:2124
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2191 templates/js/part.js:915
-#: templates/js/table_filters.js:236
+#: part/models.py:2129 templates/js/translated/part.js:1047
+#: templates/js/translated/table_filters.js:241
msgid "Required"
msgstr ""
-#: part/models.py:2192
+#: part/models.py:2130
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2197 templates/js/part.js:923
+#: part/models.py:2135 templates/js/translated/part.js:1055
msgid "Requires Value"
msgstr ""
-#: part/models.py:2198
+#: part/models.py:2136
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2203 templates/js/part.js:930
+#: part/models.py:2141 templates/js/translated/part.js:1062
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2204
+#: part/models.py:2142
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2241
+#: part/models.py:2153
+#, python-brace-format
+msgid "Illegal character in template name ({c})"
+msgstr ""
+
+#: part/models.py:2189
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2246
+#: part/models.py:2197
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2248
+#: part/models.py:2204
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2280 part/models.py:2329 part/models.py:2330
-#: templates/InvenTree/settings/settings.html:160
+#: part/models.py:2236 part/models.py:2285 part/models.py:2286
+#: templates/InvenTree/settings/settings.html:162
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Data"
msgstr ""
-#: part/models.py:2282
+#: part/models.py:2238
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2334 templates/InvenTree/settings/settings.html:169
+#: part/models.py:2290 templates/InvenTree/settings/settings.html:171
msgid "Default Value"
msgstr ""
-#: part/models.py:2335
+#: part/models.py:2291
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2325
msgid "Select parent part"
msgstr ""
-#: part/models.py:2378
+#: part/models.py:2333
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:2334
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2340
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2386 templates/js/bom.js:216 templates/js/bom.js:278
+#: part/models.py:2342 templates/js/translated/bom.js:236
+#: templates/js/translated/bom.js:298
msgid "Optional"
msgstr ""
-#: part/models.py:2386
+#: part/models.py:2342
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2389
+#: part/models.py:2345
msgid "Overage"
msgstr ""
-#: part/models.py:2390
+#: part/models.py:2346
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2393
+#: part/models.py:2349
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2396
+#: part/models.py:2352
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "Checksum"
msgstr ""
-#: part/models.py:2398
+#: part/models.py:2354
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2402 templates/js/bom.js:295 templates/js/bom.js:302
-#: templates/js/table_filters.js:55
+#: part/models.py:2358 templates/js/translated/bom.js:315
+#: templates/js/translated/bom.js:322
+#: templates/js/translated/table_filters.js:55
msgid "Inherited"
msgstr ""
-#: part/models.py:2403
+#: part/models.py:2359
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2408 templates/js/bom.js:287
+#: part/models.py:2364 templates/js/translated/bom.js:307
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2409
+#: part/models.py:2365
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2494 stock/models.py:335
+#: part/models.py:2450 stock/models.py:335
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2503 part/models.py:2505
+#: part/models.py:2459 part/models.py:2461
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2508
+#: part/models.py:2464
msgid "BOM Item"
msgstr ""
-#: part/models.py:2627
+#: part/models.py:2583
msgid "Part 1"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Part 2"
msgstr ""
-#: part/models.py:2631
+#: part/models.py:2587
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2663
+#: part/models.py:2619
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4333,7 +4358,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:56 part/views.py:1586
+#: part/templates/part/bom.html:56 part/views.py:1220
msgid "Export Bill of Materials"
msgstr ""
@@ -4386,7 +4411,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:38 part/views.py:1912
+#: part/templates/part/category.html:38
msgid "Create new part category"
msgstr ""
@@ -4432,7 +4457,7 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:131 part/templates/part/detail.html:452
+#: part/templates/part/category.html:131
msgid "New Part"
msgstr ""
@@ -4460,34 +4485,12 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:256
-#: stock/templates/stock/location.html:251
-msgid "Create new location"
+#: part/templates/part/category.html:253
+msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:261 part/templates/part/category.html:291
-#: templates/js/part.js:25
-msgid "New Category"
-msgstr ""
-
-#: part/templates/part/category.html:262
-msgid "Create new category"
-msgstr ""
-
-#: part/templates/part/category.html:292
-msgid "Create new Part Category"
-msgstr ""
-
-#: part/templates/part/category.html:298 stock/views.py:891
-msgid "Create new Stock Location"
-msgstr ""
-
-#: part/templates/part/category.html:317
-msgid "Select parent category"
-msgstr ""
-
-#: part/templates/part/category.html:324 part/views.py:1860
-msgid "Edit Part Category"
+#: part/templates/part/category.html:279
+msgid "Create Part"
msgstr ""
#: part/templates/part/category_delete.html:5
@@ -4530,7 +4533,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:327
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224
msgid "Duplicate Part"
msgstr ""
@@ -4649,42 +4652,42 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/detail.html:453 part/views.py:451
-msgid "Create New Part"
+#: part/templates/part/detail.html:454
+msgid "Create BOM Item"
msgstr ""
-#: part/templates/part/detail.html:588
+#: part/templates/part/detail.html:589
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:606
+#: part/templates/part/detail.html:607
msgid "Edit Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:618
+#: part/templates/part/detail.html:619
msgid "Delete Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:669
+#: part/templates/part/detail.html:670
msgid "Edit Part Notes"
msgstr ""
-#: part/templates/part/detail.html:902
+#: part/templates/part/detail.html:903
#, python-format
-msgid "Single Price - %(currency)s"
+msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:914
+#: part/templates/part/detail.html:915
#, python-format
-msgid "Single Price Difference - %(currency)s"
+msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:926
+#: part/templates/part/detail.html:927
#, python-format
-msgid "Part Single Price - %(currency)s"
+msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1015
+#: part/templates/part/detail.html:1016
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -4718,138 +4721,149 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:26 templates/js/company.js:416
-#: templates/js/company.js:666 templates/js/part.js:172
-#: templates/js/part.js:249
-msgid "Inactive"
-msgstr ""
-
-#: part/templates/part/part_base.html:36
-msgid "Part is virtual (not a physical part)"
-msgstr ""
-
-#: part/templates/part/part_base.html:39
+#: part/templates/part/part_base.html:30
msgid "Part is a template part (variants can be made from this part)"
msgstr ""
-#: part/templates/part/part_base.html:42
+#: part/templates/part/part_base.html:33
msgid "Part can be assembled from other parts"
msgstr ""
-#: part/templates/part/part_base.html:45
+#: part/templates/part/part_base.html:36
msgid "Part can be used in assemblies"
msgstr ""
-#: part/templates/part/part_base.html:48
+#: part/templates/part/part_base.html:39
msgid "Part stock is tracked by serial number"
msgstr ""
-#: part/templates/part/part_base.html:51
+#: part/templates/part/part_base.html:42
msgid "Part can be purchased from external suppliers"
msgstr ""
-#: part/templates/part/part_base.html:54
+#: part/templates/part/part_base.html:45
msgid "Part can be sold to customers"
msgstr ""
-#: part/templates/part/part_base.html:60
+#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454
+#: templates/js/translated/company.js:704 templates/js/translated/part.js:304
+#: templates/js/translated/part.js:381
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:68
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:67
+#: part/templates/part/part_base.html:75
#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:69
+#: part/templates/part/part_base.html:77
#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:70
+#: part/templates/part/part_base.html:78
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:75
+#: part/templates/part/part_base.html:83
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:80
-#: stock/templates/stock/item_base.html:140
+#: part/templates/part/part_base.html:88
+#: stock/templates/stock/item_base.html:142
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: part/templates/part/part_base.html:87
+#: part/templates/part/part_base.html:95
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:93
+#: part/templates/part/part_base.html:101
msgid "Transfer part stock"
msgstr ""
-#: part/templates/part/part_base.html:110
+#: part/templates/part/part_base.html:118
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:113
+#: part/templates/part/part_base.html:121
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:116
+#: part/templates/part/part_base.html:124
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:119
+#: part/templates/part/part_base.html:127
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:154
-msgid "Latest Serial Number"
-msgstr ""
-
-#: part/templates/part/part_base.html:165
-msgid "This is a virtual part"
-msgstr ""
-
-#: part/templates/part/part_base.html:171
+#: part/templates/part/part_base.html:139
#, python-format
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:188 templates/js/table_filters.js:165
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:153
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:201 templates/InvenTree/index.html:186
+#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:208
+#: part/templates/part/part_base.html:174
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:215
+#: part/templates/part/part_base.html:181
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:230 templates/js/bom.js:316
+#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:236 templates/js/part.js:501
-#: templates/js/part.js:674
+#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633
+#: templates/js/translated/part.js:806
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:331 part/templates/part/prices.html:125
+#: part/templates/part/part_base.html:275
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125
msgid "Calculate"
msgstr ""
+#: part/templates/part/part_base.html:426
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:506
+#: part/templates/part/part_base.html:531
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+#: part/templates/part/part_base.html:537
+msgid "Show Part Details"
+msgstr ""
+
#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21
msgid "Supplier Pricing"
msgstr ""
@@ -4873,6 +4887,7 @@ msgid "Total Cost"
msgstr ""
#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40
+#: templates/js/translated/bom.js:291
msgid "No supplier pricing available"
msgstr ""
@@ -4960,7 +4975,7 @@ msgstr ""
msgid "Calculation parameters"
msgstr ""
-#: part/templates/part/prices.html:136
+#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285
msgid "Supplier Cost"
msgstr ""
@@ -4982,7 +4997,7 @@ msgstr ""
msgid "Internal Cost"
msgstr ""
-#: part/templates/part/prices.html:197 part/views.py:2330
+#: part/templates/part/prices.html:197 part/views.py:1793
msgid "Add Internal Price Break"
msgstr ""
@@ -5002,8 +5017,8 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:491 templates/js/part.js:678
+#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259
+#: templates/js/translated/part.js:623 templates/js/translated/part.js:810
msgid "No Stock"
msgstr ""
@@ -5024,148 +5039,128 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:96
+#: part/views.py:94
msgid "Add Related Part"
msgstr ""
-#: part/views.py:151
+#: part/views.py:149
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:162
+#: part/views.py:160
msgid "Set Part Category"
msgstr ""
-#: part/views.py:212
+#: part/views.py:210
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:247
-msgid "Create Variant"
-msgstr ""
-
-#: part/views.py:332
-msgid "Copied part"
-msgstr ""
-
-#: part/views.py:386 part/views.py:528
-msgid "Possible matches exist - confirm creation of new part"
-msgstr ""
-
-#: part/views.py:456
-msgid "Created new part"
-msgstr ""
-
-#: part/views.py:636
+#: part/views.py:270
msgid "Match References"
msgstr ""
-#: part/views.py:892
+#: part/views.py:526
msgid "None"
msgstr ""
-#: part/views.py:951
+#: part/views.py:585
msgid "Part QR Code"
msgstr ""
-#: part/views.py:1053
+#: part/views.py:687
msgid "Select Part Image"
msgstr ""
-#: part/views.py:1079
+#: part/views.py:713
msgid "Updated part image"
msgstr ""
-#: part/views.py:1082
+#: part/views.py:716
msgid "Part image not found"
msgstr ""
-#: part/views.py:1094
+#: part/views.py:728
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1124
+#: part/views.py:758
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1145
+#: part/views.py:779
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:800
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1177
+#: part/views.py:811
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1250
+#: part/views.py:884
msgid "Match Parts"
msgstr ""
-#: part/views.py:1638
+#: part/views.py:1272
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1645
+#: part/views.py:1279
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1654
+#: part/views.py:1288
msgid "Part Pricing"
msgstr ""
-#: part/views.py:1795
+#: part/views.py:1429
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:1805
+#: part/views.py:1439
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:1812
+#: part/views.py:1446
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1898
+#: part/views.py:1494 templates/js/translated/part.js:179
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:1532
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1904
+#: part/views.py:1538
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1956
+#: part/views.py:1547
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2057
+#: part/views.py:1648
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2113
+#: part/views.py:1704
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2132
-msgid "Create BOM Item"
-msgstr ""
-
-#: part/views.py:2202
-msgid "Edit BOM item"
-msgstr ""
-
-#: part/views.py:2263
+#: part/views.py:1726
msgid "Added new price break"
msgstr ""
-#: part/views.py:2339
+#: part/views.py:1802
msgid "Edit Internal Price Break"
msgstr ""
-#: part/views.py:2347
+#: part/views.py:1810
msgid "Delete Internal Price Break"
msgstr ""
@@ -5281,7 +5276,7 @@ msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:259 templates/js/stock.js:1371
+#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382
msgid "Date"
msgstr ""
@@ -5335,60 +5330,57 @@ msgstr ""
msgid "Moved {n} parts to {loc}"
msgstr ""
-#: stock/forms.py:80 stock/forms.py:313 stock/models.py:550
-#: stock/templates/stock/item_base.html:393 templates/js/stock.js:1018
+#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550
+#: stock/templates/stock/item_base.html:395
+#: templates/js/translated/stock.js:1025
msgid "Expiry Date"
msgstr ""
-#: stock/forms.py:81 stock/forms.py:314
+#: stock/forms.py:80 stock/forms.py:308
msgid "Expiration date for this stock item"
msgstr ""
-#: stock/forms.py:84
+#: stock/forms.py:83
msgid "Enter unique serial numbers (or leave blank)"
msgstr ""
-#: stock/forms.py:135
+#: stock/forms.py:134
msgid "Destination for serialized stock (by default, will remain in current location)"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Serial numbers"
msgstr ""
-#: stock/forms.py:137
+#: stock/forms.py:136
msgid "Unique serial numbers (must match quantity)"
msgstr ""
-#: stock/forms.py:139 stock/forms.py:288
+#: stock/forms.py:138 stock/forms.py:282
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/forms.py:169 stock/forms.py:225
+#: stock/forms.py:168 stock/forms.py:224
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:241
+#: stock/forms.py:240
msgid "Stock item to install"
msgstr ""
-#: stock/forms.py:248
-msgid "Stock quantity to assign"
-msgstr ""
-
-#: stock/forms.py:276
+#: stock/forms.py:270
msgid "Must not exceed available quantity"
msgstr ""
-#: stock/forms.py:286
+#: stock/forms.py:280
msgid "Destination location for uninstalled items"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm uninstall"
msgstr ""
-#: stock/forms.py:290
+#: stock/forms.py:284
msgid "Confirm removal of installed stock items"
msgstr ""
@@ -5453,7 +5445,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:478 stock/templates/stock/item_base.html:282
+#: stock/models.py:478 stock/templates/stock/item_base.html:284
msgid "Installed In"
msgstr ""
@@ -5560,7 +5552,7 @@ msgstr ""
msgid "Test name"
msgstr ""
-#: stock/models.py:1803 templates/js/table_filters.js:226
+#: stock/models.py:1803 templates/js/translated/table_filters.js:231
msgid "Test result"
msgstr ""
@@ -5613,30 +5605,37 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:280 stock/templates/stock/item.html:305
+#: stock/templates/stock/item.html:124 stock/views.py:534
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324
msgid "Add Test Result"
msgstr ""
-#: stock/templates/stock/item.html:325
+#: stock/templates/stock/item.html:344
msgid "Edit Test Result"
msgstr ""
-#: stock/templates/stock/item.html:339
+#: stock/templates/stock/item.html:358
msgid "Delete Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:33
-#: stock/templates/stock/item_base.html:397 templates/js/table_filters.js:154
+#: stock/templates/stock/item_base.html:399
+#: templates/js/translated/table_filters.js:212
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:43
-#: stock/templates/stock/item_base.html:399 templates/js/table_filters.js:159
+#: stock/templates/stock/item_base.html:401
+#: templates/js/translated/table_filters.js:218
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
-#: templates/js/barcode.js:314
+#: stock/templates/stock/item_base.html:80
+#: templates/js/translated/barcode.js:309
+#: templates/js/translated/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
@@ -5686,127 +5685,137 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/item_base.html:130
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:143
+#: stock/templates/stock/item_base.html:133
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:133
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:145
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:146
+#: stock/templates/stock/item_base.html:148
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:148
+#: stock/templates/stock/item_base.html:150
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_base.html:153
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:171
+#: stock/templates/stock/item_base.html:173
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:178
+#: stock/templates/stock/item_base.html:180
msgid "This stock item is in production and cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:181
msgid "Edit the stock item from the build view."
msgstr ""
-#: stock/templates/stock/item_base.html:192
+#: stock/templates/stock/item_base.html:194
msgid "This stock item has not passed all required tests"
msgstr ""
-#: stock/templates/stock/item_base.html:200
+#: stock/templates/stock/item_base.html:202
#, python-format
msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:210
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-#: stock/templates/stock/item_base.html:214
+#: stock/templates/stock/item_base.html:216
msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
msgstr ""
-#: stock/templates/stock/item_base.html:218
+#: stock/templates/stock/item_base.html:220
msgid "This stock item cannot be deleted as it has child items"
msgstr ""
-#: stock/templates/stock/item_base.html:222
+#: stock/templates/stock/item_base.html:224
msgid "This stock item will be automatically deleted when all stock is depleted."
msgstr ""
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:232
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:252
+#: stock/templates/stock/item_base.html:254
msgid "previous page"
msgstr ""
-#: stock/templates/stock/item_base.html:258
+#: stock/templates/stock/item_base.html:260
msgid "next page"
msgstr ""
-#: stock/templates/stock/item_base.html:301 templates/js/build.js:628
+#: stock/templates/stock/item_base.html:303
+#: templates/js/translated/build.js:628
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:308
+#: stock/templates/stock/item_base.html:310
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:350
+#: stock/templates/stock/item_base.html:352
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:368
+#: stock/templates/stock/item_base.html:370
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:397
-#, python-format
-msgid "This StockItem expired on %(item.expiry_date)s"
-msgstr ""
-
#: stock/templates/stock/item_base.html:399
#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:401
+#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:406 templates/js/stock.js:1024
+#: stock/templates/stock/item_base.html:408
+#: templates/js/translated/stock.js:1032
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:413
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:415
+#: stock/templates/stock/item_base.html:417
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:426
+#: stock/templates/stock/item_base.html:428
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:500
+#: stock/templates/stock/item_base.html:516
msgid "Save"
msgstr ""
-#: stock/templates/stock/item_base.html:512
+#: stock/templates/stock/item_base.html:528
msgid "Edit Stock Status"
msgstr ""
@@ -5819,20 +5828,37 @@ msgstr ""
msgid "This will remove %(qty)s units of %(full_name)s from stock."
msgstr ""
-#: stock/templates/stock/item_install.html:7
-msgid "Install another StockItem into this item."
+#: stock/templates/stock/item_install.html:8
+msgid "Install another Stock Item into this item."
msgstr ""
-#: stock/templates/stock/item_install.html:10
+#: stock/templates/stock/item_install.html:11
+#: stock/templates/stock/item_install.html:24
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: stock/templates/stock/item_install.html:13
-msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+#: stock/templates/stock/item_install.html:14
+msgid "The Stock Item links to a Part which is in the BOM for this Stock Item"
msgstr ""
-#: stock/templates/stock/item_install.html:14
-msgid "The StockItem is currently in stock"
+#: stock/templates/stock/item_install.html:15
+msgid "The Stock Item is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:16
+msgid "The Stock Item is serialized and does not belong to another item"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:21
+msgid "Install this Stock Item in another stock item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:27
+msgid "The part associated to this Stock Item belongs to another part's BOM"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:28
+msgid "This Stock Item is serialized and does not belong to another item"
msgstr ""
#: stock/templates/stock/item_serialize.html:5
@@ -5903,6 +5929,10 @@ msgstr ""
msgid "Print labels"
msgstr ""
+#: stock/templates/stock/location.html:251
+msgid "Create new location"
+msgstr ""
+
#: stock/templates/stock/location_delete.html:7
msgid "Are you sure you want to delete this stock location?"
msgstr ""
@@ -5939,7 +5969,7 @@ msgstr ""
msgid "The following stock items will be uninstalled"
msgstr ""
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:864
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:932
msgid "Convert Stock Item"
msgstr ""
@@ -5960,103 +5990,104 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:163
+#: stock/views.py:181
msgid "Edit Stock Location"
msgstr ""
-#: stock/views.py:270 stock/views.py:843 stock/views.py:965 stock/views.py:1330
+#: stock/views.py:288 stock/views.py:911 stock/views.py:1033
+#: stock/views.py:1398
msgid "Owner is required (ownership control is enabled)"
msgstr ""
-#: stock/views.py:285
+#: stock/views.py:303
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:304
+#: stock/views.py:322
msgid "Assign to Customer"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:331
msgid "Customer must be specified"
msgstr ""
-#: stock/views.py:337
+#: stock/views.py:355
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:346
+#: stock/views.py:364
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:375
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:368
+#: stock/views.py:386
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:385
+#: stock/views.py:403
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:490
+#: stock/views.py:508
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:516
-msgid "Install Stock Item"
-msgstr ""
-
-#: stock/views.py:615
+#: stock/views.py:683
msgid "Uninstall Stock Items"
msgstr ""
-#: stock/views.py:712 templates/js/stock.js:272
+#: stock/views.py:780 templates/js/translated/stock.js:282
msgid "Confirm stock adjustment"
msgstr ""
-#: stock/views.py:723
+#: stock/views.py:791
msgid "Uninstalled stock items"
msgstr ""
-#: stock/views.py:745
+#: stock/views.py:813
msgid "Edit Stock Item"
msgstr ""
-#: stock/views.py:982
+#: stock/views.py:959
+msgid "Create new Stock Location"
+msgstr ""
+
+#: stock/views.py:1050
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1075 templates/js/build.js:365
+#: stock/views.py:1143 templates/js/translated/build.js:365
msgid "Create new Stock Item"
msgstr ""
-#: stock/views.py:1217
+#: stock/views.py:1285
msgid "Duplicate Stock Item"
msgstr ""
-#: stock/views.py:1299
+#: stock/views.py:1367
msgid "Quantity cannot be negative"
msgstr ""
-#: stock/views.py:1399
+#: stock/views.py:1467
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1412
+#: stock/views.py:1480
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1423
+#: stock/views.py:1491
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1430
+#: stock/views.py:1498
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1439
+#: stock/views.py:1507
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6140,11 +6171,11 @@ msgstr ""
msgid "Enter a search query"
msgstr ""
-#: templates/InvenTree/search.html:268 templates/js/stock.js:619
+#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629
msgid "Shipped to customer"
msgstr ""
-#: templates/InvenTree/search.html:271 templates/js/stock.js:629
+#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639
msgid "No stock location set"
msgstr ""
@@ -6208,43 +6239,54 @@ msgid "Home Page"
msgstr ""
#: templates/InvenTree/settings/navbar.html:27
-#: templates/InvenTree/settings/navbar.html:29 templates/js/tables.js:351
-#: templates/search_form.html:6 templates/search_form.html:8
+#: templates/InvenTree/settings/navbar.html:29
+#: templates/js/translated/tables.js:351 templates/search_form.html:6
+#: templates/search_form.html:8
msgid "Search"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:34
-#: templates/InvenTree/settings/navbar.html:36
+#: templates/InvenTree/settings/navbar.html:33
+#: templates/InvenTree/settings/navbar.html:35
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:39
+#: templates/InvenTree/settings/navbar.html:41
+msgid "Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:46
+#: templates/InvenTree/settings/navbar.html:48
#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84
msgid "Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:44
+#: templates/InvenTree/settings/navbar.html:56
msgid "InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/navbar.html:47
-#: templates/InvenTree/settings/navbar.html:49 templates/stats.html:9
-msgid "Server"
-msgstr ""
-
-#: templates/InvenTree/settings/navbar.html:53
-#: templates/InvenTree/settings/navbar.html:55
-msgid "Barcodes"
-msgstr ""
-
#: templates/InvenTree/settings/navbar.html:59
-#: templates/InvenTree/settings/navbar.html:61
-msgid "Currencies"
+#: templates/InvenTree/settings/navbar.html:61 templates/stats.html:9
+msgid "Server"
msgstr ""
#: templates/InvenTree/settings/navbar.html:65
#: templates/InvenTree/settings/navbar.html:67
-msgid "Reporting"
+msgid "Barcodes"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:71
+#: templates/InvenTree/settings/navbar.html:73
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/navbar.html:77
#: templates/InvenTree/settings/navbar.html:79
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/navbar.html:89
+#: templates/InvenTree/settings/navbar.html:91
msgid "Categories"
msgstr ""
@@ -6268,25 +6310,12 @@ msgstr ""
msgid "Part Parameter Templates"
msgstr ""
-#: templates/InvenTree/settings/part.html:80
-msgid "No part parameter templates found"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:100
-#: templates/InvenTree/settings/settings.html:172
-msgid "Edit Template"
-msgstr ""
-
-#: templates/InvenTree/settings/part.html:101
-#: templates/InvenTree/settings/settings.html:173
-msgid "Delete Template"
-msgstr ""
-
#: templates/InvenTree/settings/po.html:9
msgid "Purchase Order Settings"
msgstr ""
#: templates/InvenTree/settings/report.html:10
+#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
msgstr ""
@@ -6298,10 +6327,24 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:150
+#: templates/InvenTree/settings/settings.html:152
msgid "No category parameter templates found"
msgstr ""
+#: templates/InvenTree/settings/settings.html:174
+#: templates/InvenTree/settings/settings.html:271
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:175
+#: templates/InvenTree/settings/settings.html:272
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:251
+msgid "No part parameter templates found"
+msgstr ""
+
#: templates/InvenTree/settings/so.html:7
msgid "Sales Order Settings"
msgstr ""
@@ -6351,14 +6394,36 @@ msgstr ""
msgid "Language Settings"
msgstr ""
-#: templates/InvenTree/settings/user.html:90
+#: templates/InvenTree/settings/user.html:89
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:91
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:98
msgid "Set Language"
msgstr ""
+#: templates/InvenTree/settings/user.html:103
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:104
+#, python-format
+msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
msgstr ""
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
#: templates/InvenTree/settings/user_search.html:9
msgid "Search Settings"
msgstr ""
@@ -6427,9 +6492,10 @@ msgstr ""
msgid "copy version information"
msgstr ""
-#: templates/about.html:100 templates/js/modals.js:33
-#: templates/js/modals.js:567 templates/js/modals.js:661
-#: templates/js/modals.js:957 templates/modals.html:29 templates/modals.html:54
+#: templates/about.html:100 templates/js/translated/modals.js:33
+#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661
+#: templates/js/translated/modals.js:957 templates/modals.html:29
+#: templates/modals.html:54
msgid "Close"
msgstr ""
@@ -6449,1234 +6515,1326 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/api.js:161 templates/js/modals.js:1027
-msgid "No Response"
-msgstr ""
-
-#: templates/js/api.js:162 templates/js/modals.js:1028
-msgid "No response from the InvenTree server"
-msgstr ""
-
-#: templates/js/api.js:167
-msgid "Error 400: Bad request"
-msgstr ""
-
-#: templates/js/api.js:168
-msgid "API request returned error code 400"
-msgstr ""
-
-#: templates/js/api.js:171 templates/js/modals.js:1037
-msgid "Error 401: Not Authenticated"
-msgstr ""
-
-#: templates/js/api.js:172 templates/js/modals.js:1038
-msgid "Authentication credentials not supplied"
-msgstr ""
-
-#: templates/js/api.js:175 templates/js/modals.js:1042
-msgid "Error 403: Permission Denied"
-msgstr ""
-
-#: templates/js/api.js:176 templates/js/modals.js:1043
-msgid "You do not have the required permissions to access this function"
-msgstr ""
-
-#: templates/js/api.js:179 templates/js/modals.js:1047
-msgid "Error 404: Resource Not Found"
-msgstr ""
-
-#: templates/js/api.js:180 templates/js/modals.js:1048
-msgid "The requested resource could not be located on the server"
-msgstr ""
-
-#: templates/js/api.js:183 templates/js/modals.js:1052
-msgid "Error 408: Timeout"
-msgstr ""
-
-#: templates/js/api.js:184 templates/js/modals.js:1053
-msgid "Connection timeout while requesting data from server"
-msgstr ""
-
-#: templates/js/api.js:187
-msgid "Unhandled Error Code"
-msgstr ""
-
-#: templates/js/api.js:188
-msgid "Error code"
-msgstr ""
-
-#: templates/js/attachment.js:16
-msgid "No attachments found"
-msgstr ""
-
-#: templates/js/attachment.js:56
-msgid "Upload Date"
-msgstr ""
-
-#: templates/js/attachment.js:69
-msgid "Edit attachment"
-msgstr ""
-
-#: templates/js/attachment.js:76
-msgid "Delete attachment"
-msgstr ""
-
-#: templates/js/barcode.js:8
-msgid "Scan barcode data here using wedge scanner"
-msgstr ""
-
-#: templates/js/barcode.js:10
-msgid "Enter barcode data"
-msgstr ""
-
-#: templates/js/barcode.js:14
-msgid "Barcode"
-msgstr ""
-
-#: templates/js/barcode.js:32
-msgid "Enter optional notes for stock transfer"
-msgstr ""
-
-#: templates/js/barcode.js:33
-msgid "Enter notes"
-msgstr ""
-
-#: templates/js/barcode.js:71
-msgid "Server error"
-msgstr ""
-
-#: templates/js/barcode.js:92
-msgid "Unknown response from server"
-msgstr ""
-
-#: templates/js/barcode.js:119 templates/js/modals.js:1017
-msgid "Invalid server response"
-msgstr ""
-
-#: templates/js/barcode.js:212
-msgid "Scan barcode data below"
-msgstr ""
-
-#: templates/js/barcode.js:270
-msgid "No URL in response"
-msgstr ""
-
-#: templates/js/barcode.js:288
-msgid "Link Barcode to Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:311
-msgid "This will remove the association between this stock item and the barcode"
-msgstr ""
-
-#: templates/js/barcode.js:317
-msgid "Unlink"
-msgstr ""
-
-#: templates/js/barcode.js:376 templates/js/stock.js:210
-msgid "Remove stock item"
-msgstr ""
-
-#: templates/js/barcode.js:418
-msgid "Check Stock Items into Location"
-msgstr ""
-
-#: templates/js/barcode.js:422 templates/js/barcode.js:547
-msgid "Check In"
-msgstr ""
-
-#: templates/js/barcode.js:462 templates/js/barcode.js:586
-msgid "Error transferring stock"
-msgstr ""
-
-#: templates/js/barcode.js:481
-msgid "Stock Item already scanned"
-msgstr ""
-
-#: templates/js/barcode.js:485
-msgid "Stock Item already in this location"
-msgstr ""
-
-#: templates/js/barcode.js:492
-msgid "Added stock item"
-msgstr ""
-
-#: templates/js/barcode.js:499
-msgid "Barcode does not match Stock Item"
-msgstr ""
-
-#: templates/js/barcode.js:542
-msgid "Check Into Location"
-msgstr ""
-
-#: templates/js/barcode.js:605
-msgid "Barcode does not match a valid location"
-msgstr ""
-
-#: templates/js/bom.js:175 templates/js/build.js:1152
-msgid "Open subassembly"
-msgstr ""
-
-#: templates/js/bom.js:249
-msgid "Purchase Price Range"
-msgstr ""
-
-#: templates/js/bom.js:257
-msgid "Purchase Price Average"
-msgstr ""
-
-#: templates/js/bom.js:265
-msgid "Buy Price"
-msgstr ""
-
-#: templates/js/bom.js:271
-msgid "No pricing available"
-msgstr ""
-
-#: templates/js/bom.js:306 templates/js/bom.js:392
-msgid "View BOM"
-msgstr ""
-
-#: templates/js/bom.js:366
-msgid "Validate BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:368
-msgid "This line has been validated"
-msgstr ""
-
-#: templates/js/bom.js:370
-msgid "Edit BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:372 templates/js/bom.js:519
-msgid "Delete BOM Item"
-msgstr ""
-
-#: templates/js/bom.js:463 templates/js/build.js:458 templates/js/build.js:1250
-msgid "No BOM items found"
-msgstr ""
-
-#: templates/js/build.js:42
-msgid "Edit Build Order"
-msgstr ""
-
-#: templates/js/build.js:68
-msgid "Create Build Order"
-msgstr ""
-
-#: templates/js/build.js:100
-msgid "Auto-allocate stock items to this output"
-msgstr ""
-
-#: templates/js/build.js:108
-msgid "Unallocate stock from build output"
-msgstr ""
-
-#: templates/js/build.js:118
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:127
-msgid "Delete build output"
-msgstr ""
-
-#: templates/js/build.js:222
-msgid "No build order allocations found"
-msgstr ""
-
-#: templates/js/build.js:260 templates/js/order.js:451
-msgid "Location not specified"
-msgstr ""
-
-#: templates/js/build.js:364 templates/stock_table.html:20
-msgid "New Stock Item"
-msgstr ""
-
-#: templates/js/build.js:679
-msgid "Required Part"
-msgstr ""
-
-#: templates/js/build.js:700
-msgid "Quantity Per"
-msgstr ""
-
-#: templates/js/build.js:770 templates/js/build.js:1214
-#: templates/stock_table.html:59
-msgid "Order stock"
-msgstr ""
-
-#: templates/js/build.js:823
-msgid "No builds matching query"
-msgstr ""
-
-#: templates/js/build.js:840 templates/js/part.js:579 templates/js/part.js:824
-#: templates/js/stock.js:874 templates/js/stock.js:1325
-msgid "Select"
-msgstr ""
-
-#: templates/js/build.js:860
-msgid "Build order is overdue"
-msgstr ""
-
-#: templates/js/build.js:924 templates/js/stock.js:1547
-msgid "No user information"
-msgstr ""
-
-#: templates/js/build.js:930
-msgid "Resposible"
-msgstr ""
-
-#: templates/js/build.js:939
-msgid "No information"
-msgstr ""
-
-#: templates/js/build.js:989
-msgid "No parts allocated for"
-msgstr ""
-
-#: templates/js/company.js:36
-msgid "Add Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:48
-msgid "Edit Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:57
-msgid "Delete Manufacturer Part"
-msgstr ""
-
-#: templates/js/company.js:114
-msgid "Add Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:124
-msgid "Edit Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:134
-msgid "Delete Supplier Part"
-msgstr ""
-
-#: templates/js/company.js:181
-msgid "Edit Company"
-msgstr ""
-
-#: templates/js/company.js:202
-msgid "Add new Company"
-msgstr ""
-
-#: templates/js/company.js:279
-msgid "Parts Supplied"
-msgstr ""
-
-#: templates/js/company.js:288
-msgid "Parts Manufactured"
-msgstr ""
-
-#: templates/js/company.js:301
-msgid "No company information found"
-msgstr ""
-
-#: templates/js/company.js:319
-msgid "The following manufacturer parts will be deleted"
-msgstr ""
-
-#: templates/js/company.js:336
-msgid "Delete Manufacturer Parts"
-msgstr ""
-
-#: templates/js/company.js:389
-msgid "No manufacturer parts found"
-msgstr ""
-
-#: templates/js/company.js:408 templates/js/company.js:658
-#: templates/js/part.js:156 templates/js/part.js:241
-msgid "Template part"
-msgstr ""
-
-#: templates/js/company.js:412 templates/js/company.js:662
-#: templates/js/part.js:160 templates/js/part.js:245
-msgid "Assembled part"
-msgstr ""
-
-#: templates/js/company.js:536 templates/js/part.js:330
-msgid "No parameters found"
-msgstr ""
-
-#: templates/js/company.js:572 templates/js/part.js:371
-msgid "Edit parameter"
-msgstr ""
-
-#: templates/js/company.js:573 templates/js/part.js:372
-msgid "Delete parameter"
-msgstr ""
-
-#: templates/js/company.js:592 templates/js/part.js:389
-msgid "Edit Parameter"
-msgstr ""
-
-#: templates/js/company.js:603 templates/js/part.js:401
-msgid "Delete Parameter"
-msgstr ""
-
-#: templates/js/company.js:639
-msgid "No supplier parts found"
-msgstr ""
-
-#: templates/js/filters.js:167 templates/js/filters.js:397
-msgid "true"
-msgstr ""
-
-#: templates/js/filters.js:171 templates/js/filters.js:398
-msgid "false"
-msgstr ""
-
-#: templates/js/filters.js:193
-msgid "Select filter"
-msgstr ""
-
-#: templates/js/filters.js:268
-msgid "Add new filter"
-msgstr ""
-
-#: templates/js/filters.js:271
-msgid "Clear all filters"
-msgstr ""
-
-#: templates/js/filters.js:296
-msgid "Create filter"
-msgstr ""
-
-#: templates/js/forms.js:283 templates/js/forms.js:296
-#: templates/js/forms.js:308 templates/js/forms.js:320
-msgid "Action Prohibited"
-msgstr ""
-
-#: templates/js/forms.js:284
-msgid "Create operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:297
-msgid "Update operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:309
-msgid "Delete operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:321
-msgid "View operation not allowed"
-msgstr ""
-
-#: templates/js/forms.js:817 templates/modals.html:21 templates/modals.html:47
-msgid "Form errors exist"
-msgstr ""
-
-#: templates/js/forms.js:1184
-msgid "Searching"
-msgstr ""
-
-#: templates/js/forms.js:1337
-msgid "Clear input"
-msgstr ""
-
-#: templates/js/label.js:10 templates/js/report.js:98 templates/js/stock.js:234
-msgid "Select Stock Items"
-msgstr ""
-
-#: templates/js/label.js:11
-msgid "Stock item(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:29 templates/js/label.js:79 templates/js/label.js:134
-msgid "No Labels Found"
-msgstr ""
-
-#: templates/js/label.js:30
-msgid "No labels found which match selected stock item(s)"
-msgstr ""
-
-#: templates/js/label.js:61
-msgid "Select Stock Locations"
-msgstr ""
-
-#: templates/js/label.js:62
-msgid "Stock location(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:80
-msgid "No labels found which match selected stock location(s)"
-msgstr ""
-
-#: templates/js/label.js:115 templates/js/report.js:205
-msgid "Select Parts"
-msgstr ""
-
-#: templates/js/label.js:116
-msgid "Part(s) must be selected before printing labels"
-msgstr ""
-
-#: templates/js/label.js:135
-msgid "No labels found which match the selected part(s)"
-msgstr ""
-
-#: templates/js/label.js:209
-msgid "stock items selected"
-msgstr ""
-
-#: templates/js/label.js:217
-msgid "Select Label"
-msgstr ""
-
-#: templates/js/label.js:232
-msgid "Select Label Template"
-msgstr ""
-
-#: templates/js/modals.js:59 templates/js/modals.js:103
-#: templates/js/modals.js:593
-msgid "Cancel"
-msgstr ""
-
-#: templates/js/modals.js:60 templates/js/modals.js:102
-#: templates/js/modals.js:660 templates/js/modals.js:956
-#: templates/modals.html:30 templates/modals.html:55
-msgid "Submit"
-msgstr ""
-
-#: templates/js/modals.js:101
-msgid "Form Title"
-msgstr ""
-
-#: templates/js/modals.js:380
-msgid "Waiting for server..."
-msgstr ""
-
-#: templates/js/modals.js:539
-msgid "Show Error Information"
-msgstr ""
-
-#: templates/js/modals.js:592
-msgid "Accept"
-msgstr ""
-
-#: templates/js/modals.js:649
-msgid "Loading Data"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Invalid response from server"
-msgstr ""
-
-#: templates/js/modals.js:907
-msgid "Form data missing from server response"
-msgstr ""
-
-#: templates/js/modals.js:920
-msgid "Error posting form data"
-msgstr ""
-
-#: templates/js/modals.js:1017
-msgid "JSON response missing form data"
-msgstr ""
-
-#: templates/js/modals.js:1032
-msgid "Error 400: Bad Request"
-msgstr ""
-
-#: templates/js/modals.js:1033
-msgid "Server returned error code 400"
-msgstr ""
-
-#: templates/js/modals.js:1056
-msgid "Error requesting form data"
-msgstr ""
-
-#: templates/js/model_renderers.js:38
-msgid "Company ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:78
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:95
-msgid "Build ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:114
-msgid "Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:163
-msgid "Category ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:199
-msgid "Manufacturer Part ID"
-msgstr ""
-
-#: templates/js/model_renderers.js:227
-msgid "Supplier Part ID"
-msgstr ""
-
-#: templates/js/order.js:32
-msgid "Create Sales Order"
-msgstr ""
-
-#: templates/js/order.js:202
-msgid "No purchase orders found"
-msgstr ""
-
-#: templates/js/order.js:226 templates/js/order.js:321
-msgid "Order is overdue"
-msgstr ""
-
-#: templates/js/order.js:298
-msgid "No sales orders found"
-msgstr ""
-
-#: templates/js/order.js:335
-msgid "Invalid Customer"
-msgstr ""
-
-#: templates/js/order.js:412
-msgid "No sales order allocations found"
-msgstr ""
-
-#: templates/js/part.js:10
-msgid "YES"
-msgstr ""
-
-#: templates/js/part.js:12
-msgid "NO"
-msgstr ""
-
-#: templates/js/part.js:26
-msgid "Create New Part Category"
-msgstr ""
-
-#: templates/js/part.js:34
-msgid "New Parent"
-msgstr ""
-
-#: templates/js/part.js:97
-msgid "Edit Part"
-msgstr ""
-
-#: templates/js/part.js:148 templates/js/part.js:233
-msgid "Trackable part"
-msgstr ""
-
-#: templates/js/part.js:152 templates/js/part.js:237
-msgid "Virtual part"
-msgstr ""
-
-#: templates/js/part.js:164
-msgid "Starred part"
-msgstr ""
-
-#: templates/js/part.js:168
-msgid "Salable part"
-msgstr ""
-
-#: templates/js/part.js:282
-msgid "No variants found"
-msgstr ""
-
-#: templates/js/part.js:469 templates/js/part.js:708
-msgid "No parts found"
-msgstr ""
-
-#: templates/js/part.js:647
-msgid "No category"
-msgstr ""
-
-#: templates/js/part.js:665 templates/js/table_filters.js:332
-msgid "Low stock"
-msgstr ""
-
-#: templates/js/part.js:849 templates/js/stock.js:1349
-msgid "Path"
-msgstr ""
-
-#: templates/js/part.js:892
-msgid "No test templates matching query"
-msgstr ""
-
-#: templates/js/part.js:943 templates/js/stock.js:433
-msgid "Edit test result"
-msgstr ""
-
-#: templates/js/part.js:944 templates/js/stock.js:434
-msgid "Delete test result"
-msgstr ""
-
-#: templates/js/part.js:950
-msgid "This test is defined for a parent part"
-msgstr ""
-
-#: templates/js/part.js:975
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/part.js:1028
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1029
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/part.js:1129
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/part.js:1148
-msgid "Single Price Difference"
-msgstr ""
-
-#: templates/js/report.js:47
+#: templates/js/report.js:47 templates/js/translated/report.js:47
msgid "items selected"
msgstr ""
-#: templates/js/report.js:55
+#: templates/js/report.js:55 templates/js/translated/report.js:55
msgid "Select Report Template"
msgstr ""
-#: templates/js/report.js:70
+#: templates/js/report.js:70 templates/js/translated/report.js:70
msgid "Select Test Report Template"
msgstr ""
-#: templates/js/report.js:99
+#: templates/js/report.js:98 templates/js/translated/label.js:10
+#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/report.js:99 templates/js/translated/report.js:99
msgid "Stock item(s) must be selected before printing reports"
msgstr ""
#: templates/js/report.js:116 templates/js/report.js:169
#: templates/js/report.js:223 templates/js/report.js:277
-#: templates/js/report.js:331
+#: templates/js/report.js:331 templates/js/translated/report.js:116
+#: templates/js/translated/report.js:169 templates/js/translated/report.js:223
+#: templates/js/translated/report.js:277 templates/js/translated/report.js:331
msgid "No Reports Found"
msgstr ""
-#: templates/js/report.js:117
+#: templates/js/report.js:117 templates/js/translated/report.js:117
msgid "No report templates found which match selected stock item(s)"
msgstr ""
-#: templates/js/report.js:152
+#: templates/js/report.js:152 templates/js/translated/report.js:152
msgid "Select Builds"
msgstr ""
-#: templates/js/report.js:153
+#: templates/js/report.js:153 templates/js/translated/report.js:153
msgid "Build(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:170
+#: templates/js/report.js:170 templates/js/translated/report.js:170
msgid "No report templates found which match selected build(s)"
msgstr ""
-#: templates/js/report.js:206
+#: templates/js/report.js:205 templates/js/translated/label.js:115
+#: templates/js/translated/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206 templates/js/translated/report.js:206
msgid "Part(s) must be selected before printing reports"
msgstr ""
-#: templates/js/report.js:224
+#: templates/js/report.js:224 templates/js/translated/report.js:224
msgid "No report templates found which match selected part(s)"
msgstr ""
-#: templates/js/report.js:259
+#: templates/js/report.js:259 templates/js/translated/report.js:259
msgid "Select Purchase Orders"
msgstr ""
-#: templates/js/report.js:260
+#: templates/js/report.js:260 templates/js/translated/report.js:260
msgid "Purchase Order(s) must be selected before printing report"
msgstr ""
#: templates/js/report.js:278 templates/js/report.js:332
+#: templates/js/translated/report.js:278 templates/js/translated/report.js:332
msgid "No report templates found which match selected orders"
msgstr ""
-#: templates/js/report.js:313
+#: templates/js/report.js:313 templates/js/translated/report.js:313
msgid "Select Sales Orders"
msgstr ""
-#: templates/js/report.js:314
+#: templates/js/report.js:314 templates/js/translated/report.js:314
msgid "Sales Order(s) must be selected before printing report"
msgstr ""
-#: templates/js/stock.js:29
+#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:167
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:168
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:187
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:188
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:16
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:56
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:69
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:76
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:119
+#: templates/js/translated/modals.js:1017
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/translated/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:311
+msgid "This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:422
+#: templates/js/translated/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:462
+#: templates/js/translated/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/translated/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:269
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/translated/bom.js:277
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:386
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:388
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458
+#: templates/js/translated/build.js:1250
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/build.js:42
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:68
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:100
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/translated/build.js:108
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:118
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:127
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:260 templates/js/translated/order.js:471
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:364 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/translated/build.js:679
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/build.js:700
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214
+#: templates/stock_table.html:59
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:823
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:840 templates/js/translated/part.js:711
+#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883
+#: templates/js/translated/stock.js:1336
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:860
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:939
+msgid "No information"
+msgstr ""
+
+#: templates/js/translated/build.js:989
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/translated/company.js:34
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:47 templates/js/translated/company.js:136
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:59
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:68
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:124 templates/js/translated/order.js:58
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:152
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:162
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:172
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:219
+msgid "Edit Company"
+msgstr ""
+
+#: templates/js/translated/company.js:240
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:317
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:326
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:339
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:357
+msgid "The following manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:374
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:427
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:446
+#: templates/js/translated/company.js:696 templates/js/translated/part.js:288
+#: templates/js/translated/part.js:373
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:450
+#: templates/js/translated/company.js:700 templates/js/translated/part.js:292
+#: templates/js/translated/part.js:377
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:574 templates/js/translated/part.js:462
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:610 templates/js/translated/part.js:503
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:611 templates/js/translated/part.js:504
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:630 templates/js/translated/part.js:521
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:641 templates/js/translated/part.js:533
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:677
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/filters.js:167
+#: templates/js/translated/filters.js:404
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:171
+#: templates/js/translated/filters.js:405
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:268
+msgid "Reload data"
+msgstr ""
+
+#: templates/js/translated/filters.js:270
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:273
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:303
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302
+#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:290
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:303
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:315
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:327
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:865 templates/modals.html:21
+#: templates/modals.html:47
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1258
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:1423
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:29 templates/js/translated/label.js:79
+#: templates/js/translated/label.js:134
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/translated/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:116
+msgid "Part(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/translated/label.js:135
+msgid "No labels found which match the selected part(s)"
+msgstr ""
+
+#: templates/js/translated/label.js:209
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/translated/label.js:217
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/translated/label.js:232
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103
+#: templates/js/translated/modals.js:593
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102
+#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956
+#: templates/modals.html:30 templates/modals.html:55
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:101
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:380
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:539
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:592
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:649
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:907
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:920
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1017
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1032
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1033
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1056
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:38
+msgid "Company ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:78
+msgid "Location ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:95
+msgid "Build ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:114
+msgid "Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:163
+msgid "Category ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:199
+msgid "Manufacturer Part ID"
+msgstr ""
+
+#: templates/js/translated/model_renderers.js:227
+msgid "Supplier Part ID"
+msgstr ""
+
+#: templates/js/translated/order.js:17
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:42
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:222
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:246 templates/js/translated/order.js:341
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/order.js:318
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/order.js:355
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/order.js:432
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/part.js:10
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/part.js:12
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/part.js:22
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:53
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:96
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:102
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:103
+msgid "Initialize part stock with specified quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:109
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:110
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: templates/js/translated/part.js:120
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:131
+msgid "Copy Image"
+msgstr ""
+
+#: templates/js/translated/part.js:132
+msgid "Copy image from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:138
+msgid "Copy BOM"
+msgstr ""
+
+#: templates/js/translated/part.js:139
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:145
+msgid "Copy Parameters"
+msgstr ""
+
+#: templates/js/translated/part.js:146
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: templates/js/translated/part.js:158
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:196
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:280 templates/js/translated/part.js:365
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/part.js:284 templates/js/translated/part.js:369
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:296
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/translated/part.js:300
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:414
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:601 templates/js/translated/part.js:840
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:779
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:797
+#: templates/js/translated/table_filters.js:337
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360
+msgid "Path"
+msgstr ""
+
+#: templates/js/translated/part.js:1024
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:1082
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:1107
+#, python-brace-format
+msgid "No ${human_name} information found"
+msgstr ""
+
+#: templates/js/translated/part.js:1160
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1161
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/part.js:1261
+msgid "Single Price"
+msgstr ""
+
+#: templates/js/translated/part.js:1280
+msgid "Single Price Difference"
+msgstr ""
+
+#: templates/js/translated/stock.js:9
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:39
msgid "Export Stock"
msgstr ""
-#: templates/js/stock.js:32
+#: templates/js/translated/stock.js:42
msgid "Format"
msgstr ""
-#: templates/js/stock.js:33
+#: templates/js/translated/stock.js:43
msgid "Select file format"
msgstr ""
-#: templates/js/stock.js:45
+#: templates/js/translated/stock.js:55
msgid "Include Sublocations"
msgstr ""
-#: templates/js/stock.js:46
+#: templates/js/translated/stock.js:56
msgid "Include stock items in sublocations"
msgstr ""
-#: templates/js/stock.js:88
+#: templates/js/translated/stock.js:98
msgid "Transfer Stock"
msgstr ""
-#: templates/js/stock.js:89
+#: templates/js/translated/stock.js:99
msgid "Move"
msgstr ""
-#: templates/js/stock.js:95
+#: templates/js/translated/stock.js:105
msgid "Count Stock"
msgstr ""
-#: templates/js/stock.js:96
+#: templates/js/translated/stock.js:106
msgid "Count"
msgstr ""
-#: templates/js/stock.js:100
+#: templates/js/translated/stock.js:110
msgid "Remove Stock"
msgstr ""
-#: templates/js/stock.js:101
+#: templates/js/translated/stock.js:111
msgid "Take"
msgstr ""
-#: templates/js/stock.js:105
+#: templates/js/translated/stock.js:115
msgid "Add Stock"
msgstr ""
-#: templates/js/stock.js:106 users/models.py:190
+#: templates/js/translated/stock.js:116 users/models.py:190
msgid "Add"
msgstr ""
-#: templates/js/stock.js:110 templates/stock_table.html:63
+#: templates/js/translated/stock.js:120 templates/stock_table.html:63
msgid "Delete Stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/stock.js:199
+#: templates/js/translated/stock.js:209
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/stock.js:235
+#: templates/js/translated/stock.js:245
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/stock.js:251
+#: templates/js/translated/stock.js:261
msgid "Select destination stock location"
msgstr ""
-#: templates/js/stock.js:259
+#: templates/js/translated/stock.js:269
msgid "Stock transaction notes"
msgstr ""
-#: templates/js/stock.js:396
+#: templates/js/translated/stock.js:406
msgid "PASS"
msgstr ""
-#: templates/js/stock.js:398
+#: templates/js/translated/stock.js:408
msgid "FAIL"
msgstr ""
-#: templates/js/stock.js:403
+#: templates/js/translated/stock.js:413
msgid "NO RESULT"
msgstr ""
-#: templates/js/stock.js:429
+#: templates/js/translated/stock.js:439
msgid "Add test result"
msgstr ""
-#: templates/js/stock.js:455
+#: templates/js/translated/stock.js:465
msgid "No test results found"
msgstr ""
-#: templates/js/stock.js:503
+#: templates/js/translated/stock.js:513
msgid "Test Date"
msgstr ""
-#: templates/js/stock.js:611
+#: templates/js/translated/stock.js:621
msgid "In production"
msgstr ""
-#: templates/js/stock.js:615
+#: templates/js/translated/stock.js:625
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/stock.js:623
+#: templates/js/translated/stock.js:633
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/stock.js:699
+#: templates/js/translated/stock.js:709
msgid "No stock items matching query"
msgstr ""
-#: templates/js/stock.js:720
+#: templates/js/translated/stock.js:729
msgid "items"
msgstr ""
-#: templates/js/stock.js:812
+#: templates/js/translated/stock.js:821
msgid "batches"
msgstr ""
-#: templates/js/stock.js:839
+#: templates/js/translated/stock.js:848
msgid "locations"
msgstr ""
-#: templates/js/stock.js:841
+#: templates/js/translated/stock.js:850
msgid "Undefined location"
msgstr ""
-#: templates/js/stock.js:942
+#: templates/js/translated/stock.js:951
msgid "Stock item is in production"
msgstr ""
-#: templates/js/stock.js:947
+#: templates/js/translated/stock.js:956
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/stock.js:950
+#: templates/js/translated/stock.js:959
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/stock.js:954
+#: templates/js/translated/stock.js:963
msgid "Stock item has expired"
msgstr ""
-#: templates/js/stock.js:956
+#: templates/js/translated/stock.js:965
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/stock.js:960
+#: templates/js/translated/stock.js:969
msgid "Stock item has been allocated"
msgstr ""
-#: templates/js/stock.js:964
+#: templates/js/translated/stock.js:973
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/stock.js:971
+#: templates/js/translated/stock.js:980
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/stock.js:975
+#: templates/js/translated/stock.js:984
msgid "Stock item is lost"
msgstr ""
-#: templates/js/stock.js:978
+#: templates/js/translated/stock.js:987
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:982 templates/js/table_filters.js:147
+#: templates/js/translated/stock.js:991
+#: templates/js/translated/table_filters.js:148
msgid "Depleted"
msgstr ""
-#: templates/js/stock.js:1011
+#: templates/js/translated/stock.js:1020
msgid "Stocktake"
msgstr ""
-#: templates/js/stock.js:1065
+#: templates/js/translated/stock.js:1073
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/stock.js:1212
+#: templates/js/translated/stock.js:1223
msgid "Stock Status"
msgstr ""
-#: templates/js/stock.js:1227
+#: templates/js/translated/stock.js:1238
msgid "Set Stock Status"
msgstr ""
-#: templates/js/stock.js:1241
+#: templates/js/translated/stock.js:1252
msgid "Select Status Code"
msgstr ""
-#: templates/js/stock.js:1242
+#: templates/js/translated/stock.js:1253
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:1381
+#: templates/js/translated/stock.js:1392
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1428
+#: templates/js/translated/stock.js:1439
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1447
+#: templates/js/translated/stock.js:1458
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1466
+#: templates/js/translated/stock.js:1477
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1484
+#: templates/js/translated/stock.js:1495
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1507
+#: templates/js/translated/stock.js:1518
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1515
+#: templates/js/translated/stock.js:1526
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1559
+#: templates/js/translated/stock.js:1570
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1560
+#: templates/js/translated/stock.js:1571
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1704
+#: templates/js/translated/stock.js:1715
msgid "No installed items"
msgstr ""
-#: templates/js/stock.js:1727
+#: templates/js/translated/stock.js:1738
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1755
+#: templates/js/translated/stock.js:1766
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/table_filters.js:43
+#: templates/js/translated/table_filters.js:43
msgid "Trackable Part"
msgstr ""
-#: templates/js/table_filters.js:47
+#: templates/js/translated/table_filters.js:47
msgid "Assembled Part"
msgstr ""
-#: templates/js/table_filters.js:51
+#: templates/js/translated/table_filters.js:51
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:59
+#: templates/js/translated/table_filters.js:59
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/table_filters.js:79 templates/js/table_filters.js:142
+#: templates/js/translated/table_filters.js:79
+#: templates/js/translated/table_filters.js:143
msgid "Include sublocations"
msgstr ""
-#: templates/js/table_filters.js:80
+#: templates/js/translated/table_filters.js:80
msgid "Include locations"
msgstr ""
-#: templates/js/table_filters.js:90 templates/js/table_filters.js:91
-#: templates/js/table_filters.js:309
+#: templates/js/translated/table_filters.js:90
+#: templates/js/translated/table_filters.js:91
+#: templates/js/translated/table_filters.js:314
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:190
+#: templates/js/translated/table_filters.js:101
+#: templates/js/translated/table_filters.js:178
msgid "Is Serialized"
msgstr ""
-#: templates/js/table_filters.js:104 templates/js/table_filters.js:197
+#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:185
msgid "Serial number GTE"
msgstr ""
-#: templates/js/table_filters.js:105 templates/js/table_filters.js:198
+#: templates/js/translated/table_filters.js:105
+#: templates/js/translated/table_filters.js:186
msgid "Serial number greater than or equal to"
msgstr ""
-#: templates/js/table_filters.js:108 templates/js/table_filters.js:201
+#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:189
msgid "Serial number LTE"
msgstr ""
-#: templates/js/table_filters.js:109 templates/js/table_filters.js:202
+#: templates/js/translated/table_filters.js:109
+#: templates/js/translated/table_filters.js:190
msgid "Serial number less than or equal to"
msgstr ""
-#: templates/js/table_filters.js:112 templates/js/table_filters.js:113
-#: templates/js/table_filters.js:193 templates/js/table_filters.js:194
+#: templates/js/translated/table_filters.js:112
+#: templates/js/translated/table_filters.js:113
+#: templates/js/translated/table_filters.js:181
+#: templates/js/translated/table_filters.js:182
msgid "Serial number"
msgstr ""
-#: templates/js/table_filters.js:117 templates/js/table_filters.js:211
+#: templates/js/translated/table_filters.js:117
+#: templates/js/translated/table_filters.js:199
msgid "Batch code"
msgstr ""
-#: templates/js/table_filters.js:127 templates/js/table_filters.js:299
+#: templates/js/translated/table_filters.js:128
+#: templates/js/translated/table_filters.js:304
msgid "Active parts"
msgstr ""
-#: templates/js/table_filters.js:128
+#: templates/js/translated/table_filters.js:129
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/table_filters.js:133
+#: templates/js/translated/table_filters.js:134
msgid "Part is an assembly"
msgstr ""
-#: templates/js/table_filters.js:137
+#: templates/js/translated/table_filters.js:138
msgid "Is allocated"
msgstr ""
-#: templates/js/table_filters.js:138
+#: templates/js/translated/table_filters.js:139
msgid "Item has been allocated"
msgstr ""
-#: templates/js/table_filters.js:143
+#: templates/js/translated/table_filters.js:144
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/table_filters.js:148
+#: templates/js/translated/table_filters.js:149
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/table_filters.js:155
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:160
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:166
+#: templates/js/translated/table_filters.js:154
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/table_filters.js:170
+#: templates/js/translated/table_filters.js:158
msgid "In Production"
msgstr ""
-#: templates/js/table_filters.js:171
+#: templates/js/translated/table_filters.js:159
msgid "Show items which are in production"
msgstr ""
-#: templates/js/table_filters.js:175
+#: templates/js/translated/table_filters.js:163
msgid "Include Variants"
msgstr ""
-#: templates/js/table_filters.js:176
+#: templates/js/translated/table_filters.js:164
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/table_filters.js:180
+#: templates/js/translated/table_filters.js:168
msgid "Installed"
msgstr ""
-#: templates/js/table_filters.js:181
+#: templates/js/translated/table_filters.js:169
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/table_filters.js:186
+#: templates/js/translated/table_filters.js:174
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/table_filters.js:206 templates/js/table_filters.js:207
+#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:195
msgid "Stock status"
msgstr ""
-#: templates/js/table_filters.js:215
+#: templates/js/translated/table_filters.js:203
msgid "Has purchase price"
msgstr ""
-#: templates/js/table_filters.js:216
+#: templates/js/translated/table_filters.js:204
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/table_filters.js:245
+#: templates/js/translated/table_filters.js:213
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:219
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:250
msgid "Build status"
msgstr ""
-#: templates/js/table_filters.js:264 templates/js/table_filters.js:281
+#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:286
msgid "Order status"
msgstr ""
-#: templates/js/table_filters.js:269 templates/js/table_filters.js:286
+#: templates/js/translated/table_filters.js:274
+#: templates/js/translated/table_filters.js:291
msgid "Outstanding"
msgstr ""
-#: templates/js/table_filters.js:310
+#: templates/js/translated/table_filters.js:315
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:314
+#: templates/js/translated/table_filters.js:319
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:315
+#: templates/js/translated/table_filters.js:320
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/translated/table_filters.js:325
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:328
+#: templates/js/translated/table_filters.js:333
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:344
+#: templates/js/translated/table_filters.js:349
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:356
+#: templates/js/translated/table_filters.js:361
msgid "Purchasable"
msgstr ""
-#: templates/js/tables.js:342
+#: templates/js/translated/tables.js:342
msgid "Loading data"
msgstr ""
-#: templates/js/tables.js:345
+#: templates/js/translated/tables.js:345
msgid "rows per page"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "Showing"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "to"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "of"
msgstr ""
-#: templates/js/tables.js:348
+#: templates/js/translated/tables.js:348
msgid "rows"
msgstr ""
-#: templates/js/tables.js:354
+#: templates/js/translated/tables.js:354
msgid "No matching results"
msgstr ""
-#: templates/js/tables.js:357
+#: templates/js/translated/tables.js:357
msgid "Hide/Show pagination"
msgstr ""
-#: templates/js/tables.js:360
+#: templates/js/translated/tables.js:360
msgid "Refresh"
msgstr ""
-#: templates/js/tables.js:363
+#: templates/js/translated/tables.js:363
msgid "Toggle"
msgstr ""
-#: templates/js/tables.js:366
+#: templates/js/translated/tables.js:366
msgid "Columns"
msgstr ""
-#: templates/js/tables.js:369
+#: templates/js/translated/tables.js:369
msgid "All"
msgstr ""
diff --git a/InvenTree/part/migrations/0071_alter_partparametertemplate_name.py b/InvenTree/part/migrations/0071_alter_partparametertemplate_name.py
new file mode 100644
index 0000000000..fef49e73f6
--- /dev/null
+++ b/InvenTree/part/migrations/0071_alter_partparametertemplate_name.py
@@ -0,0 +1,19 @@
+# Generated by Django 3.2.4 on 2021-08-07 11:40
+
+from django.db import migrations, models
+import part.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('part', '0070_alter_part_variant_of'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='partparametertemplate',
+ name='name',
+ field=models.CharField(help_text='Parameter Name', max_length=100, unique=True, validators=[part.models.validate_template_name], verbose_name='Name'),
+ ),
+ ]
diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py
index 28fd3ce793..50d3044771 100644
--- a/InvenTree/part/models.py
+++ b/InvenTree/part/models.py
@@ -2143,6 +2143,16 @@ class PartTestTemplate(models.Model):
)
+def validate_template_name(name):
+ """
+ Prevent illegal characters in "name" field for PartParameterTemplate
+ """
+
+ for c in "!@#$%^&*()<>{}[].,?/\|~`_+-=\'\"":
+ if c in str(name):
+ raise ValidationError(_(f"Illegal character in template name ({c})"))
+
+
class PartParameterTemplate(models.Model):
"""
A PartParameterTemplate provides a template for key:value pairs for extra
@@ -2181,7 +2191,15 @@ class PartParameterTemplate(models.Model):
except PartParameterTemplate.DoesNotExist:
pass
- name = models.CharField(max_length=100, verbose_name=_('Name'), help_text=_('Parameter Name'), unique=True)
+ name = models.CharField(
+ max_length=100,
+ verbose_name=_('Name'),
+ help_text=_('Parameter Name'),
+ unique=True,
+ validators=[
+ validate_template_name,
+ ]
+ )
units = models.CharField(max_length=25, verbose_name=_('Units'), help_text=_('Parameter Units'), blank=True)
diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py
index dce3d248e5..b12a59f136 100644
--- a/InvenTree/part/templatetags/inventree_extras.py
+++ b/InvenTree/part/templatetags/inventree_extras.py
@@ -204,6 +204,7 @@ def settings_value(key, *args, **kwargs):
if 'user' in kwargs:
return InvenTreeUserSetting.get_setting(key, user=kwargs['user'])
+
return InvenTreeSetting.get_setting(key)
diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py
index f09a52f272..2129b31627 100644
--- a/InvenTree/report/api.py
+++ b/InvenTree/report/api.py
@@ -254,10 +254,13 @@ class ReportPrintMixin:
else:
pdf = outputs[0].get_document().write_pdf()
+ inline = common.models.InvenTreeUserSetting.get_setting('REPORT_INLINE', user=request.user)
+
return InvenTree.helpers.DownloadFile(
pdf,
report_name,
- content_type='application/pdf'
+ content_type='application/pdf',
+ inline=inline,
)
diff --git a/InvenTree/templates/InvenTree/settings/navbar.html b/InvenTree/templates/InvenTree/settings/navbar.html
index 83bbc10fe9..e7ea17f91f 100644
--- a/InvenTree/templates/InvenTree/settings/navbar.html
+++ b/InvenTree/templates/InvenTree/settings/navbar.html
@@ -30,6 +30,18 @@
+
+
+ {% trans "Labels" %}
+
+
+
+
+
+ {% trans "Reports" %}
+
+
+