diff --git a/src/backend/InvenTree/InvenTree/locales.py b/src/backend/InvenTree/InvenTree/locales.py
index 6234970ec4..900ffa6343 100644
--- a/src/backend/InvenTree/InvenTree/locales.py
+++ b/src/backend/InvenTree/InvenTree/locales.py
@@ -38,6 +38,7 @@ LOCALES = [
     ('pl', _('Polish')),
     ('pt', _('Portuguese')),
     ('pt-br', _('Portuguese (Brazilian)')),
+    ('ro', _('Romanian')),
     ('ru', _('Russian')),
     ('sk', _('Slovak')),
     ('sl', _('Slovenian')),
diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po
new file mode 100644
index 0000000000..1910d31374
--- /dev/null
+++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po
@@ -0,0 +1,14393 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2024-06-11 01:26+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1));\n"
+#: InvenTree/api.py:272
+msgid "API endpoint not found"
+msgstr ""
+
+#: InvenTree/api.py:536
+msgid "User does not have permission to view this model"
+msgstr ""
+
+#: InvenTree/conversion.py:160
+#, python-brace-format
+msgid "Invalid unit provided ({unit})"
+msgstr ""
+
+#: InvenTree/conversion.py:177
+msgid "No value provided"
+msgstr ""
+
+#: InvenTree/conversion.py:204
+#, python-brace-format
+msgid "Could not convert {original} to {unit}"
+msgstr ""
+
+#: InvenTree/conversion.py:206
+msgid "Invalid quantity supplied"
+msgstr ""
+
+#: InvenTree/conversion.py:220
+#, python-brace-format
+msgid "Invalid quantity supplied ({exc})"
+msgstr ""
+
+#: InvenTree/exceptions.py:109
+msgid "Error details can be found in the admin panel"
+msgstr ""
+
+#: InvenTree/fields.py:139
+msgid "Enter date"
+msgstr ""
+
+#: InvenTree/fields.py:208 InvenTree/models.py:1059 build/serializers.py:453
+#: build/serializers.py:531 build/templates/build/sidebar.html:21
+#: company/models.py:849 company/templates/company/sidebar.html:37
+#: order/models.py:1332 order/templates/order/po_sidebar.html:11
+#: order/templates/order/return_order_sidebar.html:9
+#: order/templates/order/so_sidebar.html:17 part/admin.py:59
+#: part/models.py:3209 part/templates/part/part_sidebar.html:63
+#: report/templates/report/inventree_build_order_report.html:172
+#: stock/admin.py:231 stock/models.py:2325 stock/models.py:2447
+#: stock/serializers.py:633 stock/serializers.py:791 stock/serializers.py:887
+#: stock/serializers.py:937 stock/serializers.py:1246 stock/serializers.py:1335
+#: stock/serializers.py:1500 stock/templates/stock/stock_sidebar.html:25
+#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265
+#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347
+#: templates/js/translated/part.js:1081
+#: templates/js/translated/purchase_order.js:2200
+#: templates/js/translated/return_order.js:775
+#: templates/js/translated/sales_order.js:1103
+#: templates/js/translated/sales_order.js:2018
+#: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428
+msgid "Notes"
+msgstr ""
+
+#: InvenTree/format.py:164
+#, python-brace-format
+msgid "Value '{name}' does not appear in pattern format"
+msgstr ""
+
+#: InvenTree/format.py:175
+msgid "Provided value does not match required pattern: "
+msgstr ""
+
+#: InvenTree/forms.py:128
+msgid "Enter password"
+msgstr ""
+
+#: InvenTree/forms.py:129
+msgid "Enter new password"
+msgstr ""
+
+#: InvenTree/forms.py:138
+msgid "Confirm password"
+msgstr ""
+
+#: InvenTree/forms.py:139
+msgid "Confirm new password"
+msgstr ""
+
+#: InvenTree/forms.py:143
+msgid "Old password"
+msgstr ""
+
+#: InvenTree/forms.py:182
+msgid "Email (again)"
+msgstr ""
+
+#: InvenTree/forms.py:186
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:209
+msgid "You must type the same email each time."
+msgstr ""
+
+#: InvenTree/forms.py:253 InvenTree/forms.py:261
+msgid "The provided primary email address is not valid."
+msgstr ""
+
+#: InvenTree/forms.py:268
+msgid "The provided email domain is not approved."
+msgstr ""
+
+#: InvenTree/forms.py:395
+msgid "Registration is disabled."
+msgstr ""
+
+#: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764
+msgid "Invalid quantity provided"
+msgstr ""
+
+#: InvenTree/helpers.py:533
+msgid "Empty serial number string"
+msgstr ""
+
+#: InvenTree/helpers.py:562
+msgid "Duplicate serial"
+msgstr ""
+
+#: InvenTree/helpers.py:594 InvenTree/helpers.py:637
+#, python-brace-format
+msgid "Invalid group range: {group}"
+msgstr ""
+
+#: InvenTree/helpers.py:625
+#, python-brace-format
+msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
+msgstr ""
+
+#: InvenTree/helpers.py:655 InvenTree/helpers.py:662 InvenTree/helpers.py:681
+#, python-brace-format
+msgid "Invalid group sequence: {group}"
+msgstr ""
+
+#: InvenTree/helpers.py:691
+msgid "No serial numbers found"
+msgstr ""
+
+#: InvenTree/helpers.py:696
+msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})"
+msgstr ""
+
+#: InvenTree/helpers.py:814
+msgid "Remove HTML tags from this value"
+msgstr ""
+
+#: InvenTree/helpers_model.py:150
+msgid "Connection error"
+msgstr ""
+
+#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162
+msgid "Server responded with invalid status code"
+msgstr ""
+
+#: InvenTree/helpers_model.py:158
+msgid "Exception occurred"
+msgstr ""
+
+#: InvenTree/helpers_model.py:168
+msgid "Server responded with invalid Content-Length value"
+msgstr ""
+
+#: InvenTree/helpers_model.py:171
+msgid "Image size is too large"
+msgstr ""
+
+#: InvenTree/helpers_model.py:183
+msgid "Image download exceeded maximum size"
+msgstr ""
+
+#: InvenTree/helpers_model.py:188
+msgid "Remote server returned empty response"
+msgstr ""
+
+#: InvenTree/helpers_model.py:196
+msgid "Supplied URL is not a valid image file"
+msgstr ""
+
+#: InvenTree/locales.py:18
+msgid "Bulgarian"
+msgstr ""
+
+#: InvenTree/locales.py:19
+msgid "Czech"
+msgstr ""
+
+#: InvenTree/locales.py:20
+msgid "Danish"
+msgstr ""
+
+#: InvenTree/locales.py:21
+msgid "German"
+msgstr ""
+
+#: InvenTree/locales.py:22
+msgid "Greek"
+msgstr ""
+
+#: InvenTree/locales.py:23
+msgid "English"
+msgstr ""
+
+#: InvenTree/locales.py:24
+msgid "Spanish"
+msgstr ""
+
+#: InvenTree/locales.py:25
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/locales.py:26
+msgid "Farsi / Persian"
+msgstr ""
+
+#: InvenTree/locales.py:27
+msgid "Finnish"
+msgstr ""
+
+#: InvenTree/locales.py:28
+msgid "French"
+msgstr ""
+
+#: InvenTree/locales.py:29
+msgid "Hebrew"
+msgstr ""
+
+#: InvenTree/locales.py:30
+msgid "Hindi"
+msgstr ""
+
+#: InvenTree/locales.py:31
+msgid "Hungarian"
+msgstr ""
+
+#: InvenTree/locales.py:32
+msgid "Italian"
+msgstr ""
+
+#: InvenTree/locales.py:33
+msgid "Japanese"
+msgstr ""
+
+#: InvenTree/locales.py:34
+msgid "Korean"
+msgstr ""
+
+#: InvenTree/locales.py:35
+msgid "Latvian"
+msgstr ""
+
+#: InvenTree/locales.py:36
+msgid "Dutch"
+msgstr ""
+
+#: InvenTree/locales.py:37
+msgid "Norwegian"
+msgstr ""
+
+#: InvenTree/locales.py:38
+msgid "Polish"
+msgstr ""
+
+#: InvenTree/locales.py:39
+msgid "Portuguese"
+msgstr ""
+
+#: InvenTree/locales.py:40
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: InvenTree/locales.py:41
+msgid "Romanian"
+msgstr ""
+
+#: InvenTree/locales.py:42
+msgid "Russian"
+msgstr ""
+
+#: InvenTree/locales.py:43
+msgid "Slovak"
+msgstr ""
+
+#: InvenTree/locales.py:44
+msgid "Slovenian"
+msgstr ""
+
+#: InvenTree/locales.py:45
+msgid "Serbian"
+msgstr ""
+
+#: InvenTree/locales.py:46
+msgid "Swedish"
+msgstr ""
+
+#: InvenTree/locales.py:47
+msgid "Thai"
+msgstr ""
+
+#: InvenTree/locales.py:48
+msgid "Turkish"
+msgstr ""
+
+#: InvenTree/locales.py:49
+msgid "Ukrainian"
+msgstr ""
+
+#: InvenTree/locales.py:50
+msgid "Vietnamese"
+msgstr ""
+
+#: InvenTree/locales.py:51
+msgid "Chinese (Simplified)"
+msgstr ""
+
+#: InvenTree/locales.py:52
+msgid "Chinese (Traditional)"
+msgstr ""
+
+#: InvenTree/magic_login.py:28
+#, python-brace-format
+msgid "[{site_name}] Log in to the app"
+msgstr ""
+
+#: InvenTree/magic_login.py:38 company/models.py:133
+#: company/templates/company/company_base.html:138
+#: templates/InvenTree/settings/user.html:49
+#: templates/js/translated/company.js:677
+msgid "Email"
+msgstr ""
+
+#: InvenTree/models.py:107
+msgid "Error running plugin validation"
+msgstr ""
+
+#: InvenTree/models.py:176
+msgid "Metadata must be a python dict object"
+msgstr ""
+
+#: InvenTree/models.py:182
+msgid "Plugin Metadata"
+msgstr ""
+
+#: InvenTree/models.py:183
+msgid "JSON metadata field, for use by external plugins"
+msgstr ""
+
+#: InvenTree/models.py:413
+msgid "Improperly formatted pattern"
+msgstr ""
+
+#: InvenTree/models.py:420
+msgid "Unknown format key specified"
+msgstr ""
+
+#: InvenTree/models.py:426
+msgid "Missing required format key"
+msgstr ""
+
+#: InvenTree/models.py:437
+msgid "Reference field cannot be empty"
+msgstr ""
+
+#: InvenTree/models.py:445
+msgid "Reference must match required pattern"
+msgstr ""
+
+#: InvenTree/models.py:476
+msgid "Reference number is too large"
+msgstr ""
+
+#: InvenTree/models.py:550
+msgid "Missing file"
+msgstr ""
+
+#: InvenTree/models.py:551
+msgid "Missing external link"
+msgstr ""
+
+#: InvenTree/models.py:572 stock/models.py:2442
+#: templates/js/translated/attachment.js:119
+#: templates/js/translated/attachment.js:326
+msgid "Attachment"
+msgstr ""
+
+#: InvenTree/models.py:573
+msgid "Select file to attach"
+msgstr ""
+
+#: InvenTree/models.py:581 common/models.py:2934 company/models.py:146
+#: company/models.py:457 company/models.py:514 company/models.py:831
+#: order/models.py:303 order/models.py:1337 order/models.py:1753
+#: part/admin.py:55 part/models.py:963
+#: part/templates/part/part_scheduling.html:11
+#: report/templates/report/inventree_build_order_report.html:164
+#: stock/admin.py:230 templates/js/translated/company.js:1319
+#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351
+#: templates/js/translated/part.js:2456
+#: templates/js/translated/purchase_order.js:2040
+#: templates/js/translated/purchase_order.js:2204
+#: templates/js/translated/return_order.js:779
+#: templates/js/translated/sales_order.js:1092
+#: templates/js/translated/sales_order.js:2023
+msgid "Link"
+msgstr ""
+
+#: InvenTree/models.py:582 build/models.py:345 part/models.py:964
+#: stock/models.py:836
+msgid "Link to external URL"
+msgstr ""
+
+#: InvenTree/models.py:588 templates/js/translated/attachment.js:120
+#: templates/js/translated/attachment.js:341
+msgid "Comment"
+msgstr ""
+
+#: InvenTree/models.py:589
+msgid "File comment"
+msgstr ""
+
+#: InvenTree/models.py:597 InvenTree/models.py:598 common/models.py:2486
+#: common/models.py:2487 common/models.py:2635 common/models.py:2636
+#: common/models.py:2881 common/models.py:2882 part/models.py:3219
+#: part/models.py:3306 part/models.py:3399 part/models.py:3427
+#: plugin/models.py:274 plugin/models.py:275
+#: report/templates/report/inventree_test_report.html:105
+#: templates/js/translated/stock.js:3036 users/models.py:111
+msgid "User"
+msgstr ""
+
+#: InvenTree/models.py:602
+msgid "upload date"
+msgstr ""
+
+#: InvenTree/models.py:624
+msgid "Filename must not be empty"
+msgstr ""
+
+#: InvenTree/models.py:635
+msgid "Invalid attachment directory"
+msgstr ""
+
+#: InvenTree/models.py:665
+#, python-brace-format
+msgid "Filename contains illegal character '{c}'"
+msgstr ""
+
+#: InvenTree/models.py:668
+msgid "Filename missing extension"
+msgstr ""
+
+#: InvenTree/models.py:677
+msgid "Attachment with this filename already exists"
+msgstr ""
+
+#: InvenTree/models.py:684
+msgid "Error renaming file"
+msgstr ""
+
+#: InvenTree/models.py:860
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:877
+msgid "Invalid choice"
+msgstr ""
+
+#: InvenTree/models.py:907 common/models.py:2622 common/models.py:3035
+#: common/serializers.py:403 company/models.py:614 machine/models.py:24
+#: part/models.py:899 part/models.py:3685 plugin/models.py:51
+#: report/models.py:149 stock/models.py:72
+#: templates/InvenTree/settings/mixins/urls.html:13
+#: templates/InvenTree/settings/notifications.html:17
+#: templates/InvenTree/settings/plugin.html:83
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:67
+#: templates/InvenTree/settings/settings_staff_js.html:446
+#: templates/js/translated/company.js:676
+#: templates/js/translated/company.js:724
+#: templates/js/translated/company.js:913
+#: templates/js/translated/company.js:1165
+#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611
+#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716
+msgid "Name"
+msgstr ""
+
+#: InvenTree/models.py:913 build/models.py:218
+#: build/templates/build/detail.html:24 common/models.py:134
+#: company/models.py:523 company/models.py:840
+#: company/templates/company/company_base.html:77
+#: company/templates/company/manufacturer_part.html:75
+#: company/templates/company/supplier_part.html:107 order/models.py:289
+#: order/models.py:1365 part/admin.py:305 part/admin.py:416 part/models.py:922
+#: part/models.py:3700 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:170
+#: part/templates/part/part_scheduling.html:12 report/models.py:155
+#: report/models.py:509 report/models.py:535
+#: report/templates/report/inventree_build_order_report.html:117
+#: stock/admin.py:55 stock/models.py:78 stock/templates/stock/location.html:125
+#: templates/InvenTree/settings/notifications.html:19
+#: templates/InvenTree/settings/plugin_settings.html:27
+#: templates/InvenTree/settings/settings_staff_js.html:170
+#: templates/InvenTree/settings/settings_staff_js.html:451
+#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963
+#: templates/js/translated/build.js:2139 templates/js/translated/company.js:519
+#: templates/js/translated/company.js:1330
+#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119
+#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239
+#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622
+#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355
+#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897
+#: templates/js/translated/plugin.js:80
+#: templates/js/translated/purchase_order.js:1706
+#: templates/js/translated/purchase_order.js:1849
+#: templates/js/translated/purchase_order.js:2022
+#: templates/js/translated/return_order.js:313
+#: templates/js/translated/sales_order.js:838
+#: templates/js/translated/sales_order.js:1848
+#: templates/js/translated/stock.js:1515 templates/js/translated/stock.js:2058
+#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831
+msgid "Description"
+msgstr ""
+
+#: InvenTree/models.py:914 stock/models.py:79
+msgid "Description (optional)"
+msgstr ""
+
+#: InvenTree/models.py:923
+msgid "parent"
+msgstr ""
+
+#: InvenTree/models.py:929 templates/js/translated/part.js:2794
+#: templates/js/translated/stock.js:2757
+msgid "Path"
+msgstr ""
+
+#: InvenTree/models.py:1059
+msgid "Markdown notes (optional)"
+msgstr ""
+
+#: InvenTree/models.py:1088
+msgid "Barcode Data"
+msgstr ""
+
+#: InvenTree/models.py:1089
+msgid "Third party barcode data"
+msgstr ""
+
+#: InvenTree/models.py:1095
+msgid "Barcode Hash"
+msgstr ""
+
+#: InvenTree/models.py:1096
+msgid "Unique hash of barcode data"
+msgstr ""
+
+#: InvenTree/models.py:1149
+msgid "Existing barcode found"
+msgstr ""
+
+#: InvenTree/models.py:1192
+msgid "Server Error"
+msgstr ""
+
+#: InvenTree/models.py:1193
+msgid "An error has been logged by the server."
+msgstr ""
+
+#: InvenTree/serializers.py:63 part/models.py:4238
+msgid "Must be a valid number"
+msgstr ""
+
+#: InvenTree/serializers.py:100 company/models.py:183
+#: company/templates/company/company_base.html:112 part/models.py:3027
+#: templates/InvenTree/settings/settings_staff_js.html:44
+#: templates/currency_data.html:5
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:103
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:442
+msgid "You do not have permission to change this user role."
+msgstr ""
+
+#: InvenTree/serializers.py:454
+msgid "Only superusers can create new users"
+msgstr ""
+
+#: InvenTree/serializers.py:473
+msgid "Your account has been created."
+msgstr ""
+
+#: InvenTree/serializers.py:475
+msgid "Please use the password reset function to login"
+msgstr ""
+
+#: InvenTree/serializers.py:482
+msgid "Welcome to InvenTree"
+msgstr ""
+
+#: InvenTree/serializers.py:543
+msgid "Filename"
+msgstr ""
+
+#: InvenTree/serializers.py:577
+msgid "Invalid value"
+msgstr ""
+
+#: InvenTree/serializers.py:597
+msgid "Data File"
+msgstr ""
+
+#: InvenTree/serializers.py:598
+msgid "Select data file for upload"
+msgstr ""
+
+#: InvenTree/serializers.py:615
+msgid "Unsupported file type"
+msgstr ""
+
+#: InvenTree/serializers.py:621
+msgid "File is too large"
+msgstr ""
+
+#: InvenTree/serializers.py:642
+msgid "No columns found in file"
+msgstr ""
+
+#: InvenTree/serializers.py:645
+msgid "No data rows found in file"
+msgstr ""
+
+#: InvenTree/serializers.py:758
+msgid "No data rows provided"
+msgstr ""
+
+#: InvenTree/serializers.py:761
+msgid "No data columns supplied"
+msgstr ""
+
+#: InvenTree/serializers.py:828
+#, python-brace-format
+msgid "Missing required column: '{name}'"
+msgstr ""
+
+#: InvenTree/serializers.py:837
+#, python-brace-format
+msgid "Duplicate column: '{col}'"
+msgstr ""
+
+#: InvenTree/serializers.py:877
+msgid "Remote Image"
+msgstr ""
+
+#: InvenTree/serializers.py:878
+msgid "URL of remote image file"
+msgstr ""
+
+#: InvenTree/serializers.py:896
+msgid "Downloading images from remote URL is not enabled"
+msgstr ""
+
+#: InvenTree/status.py:66 part/serializers.py:1181
+msgid "Background worker check failed"
+msgstr ""
+
+#: InvenTree/status.py:70
+msgid "Email backend not configured"
+msgstr ""
+
+#: InvenTree/status.py:73
+msgid "InvenTree system health checks failed"
+msgstr ""
+
+#: InvenTree/templatetags/inventree_extras.py:183
+msgid "Unknown database"
+msgstr ""
+
+#: InvenTree/validators.py:31 InvenTree/validators.py:33
+msgid "Invalid physical unit"
+msgstr ""
+
+#: InvenTree/validators.py:39
+msgid "Not a valid currency code"
+msgstr ""
+
+#: InvenTree/validators.py:121 InvenTree/validators.py:137
+msgid "Overage value must not be negative"
+msgstr ""
+
+#: InvenTree/validators.py:139
+msgid "Overage must not exceed 100%"
+msgstr ""
+
+#: InvenTree/validators.py:145
+msgid "Invalid value for overage"
+msgstr ""
+
+#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23
+msgid "Edit User Information"
+msgstr ""
+
+#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20
+msgid "Set Password"
+msgstr ""
+
+#: InvenTree/views.py:434
+msgid "Password fields must match"
+msgstr ""
+
+#: InvenTree/views.py:442
+msgid "Wrong password provided"
+msgstr ""
+
+#: InvenTree/views.py:650 templates/navbar.html:160
+msgid "System Information"
+msgstr ""
+
+#: InvenTree/views.py:657 templates/navbar.html:171
+msgid "About InvenTree"
+msgstr ""
+
+#: build/api.py:255
+msgid "Build must be cancelled before it can be deleted"
+msgstr ""
+
+#: build/api.py:299 part/models.py:4116 templates/js/translated/bom.js:997
+#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520
+#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:583
+msgid "Consumable"
+msgstr ""
+
+#: build/api.py:300 part/models.py:4110 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028
+#: templates/js/translated/build.js:2529
+#: templates/js/translated/table_filters.js:186
+#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:587
+msgid "Optional"
+msgstr ""
+
+#: build/api.py:301 templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:579
+msgid "Tracked"
+msgstr ""
+
+#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744
+#: templates/js/translated/build.js:2629
+#: templates/js/translated/sales_order.js:1965
+#: templates/js/translated/table_filters.js:571
+msgid "Allocated"
+msgstr ""
+
+#: build/api.py:311 company/models.py:904 company/serializers.py:384
+#: company/templates/company/supplier_part.html:114
+#: templates/email/build_order_required_stock.html:19
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561
+#: templates/js/translated/index.js:123
+#: templates/js/translated/model_renderers.js:234
+#: templates/js/translated/part.js:693 templates/js/translated/part.js:695
+#: templates/js/translated/part.js:700
+#: templates/js/translated/table_filters.js:340
+#: templates/js/translated/table_filters.js:575
+msgid "Available"
+msgstr ""
+
+#: build/models.py:83 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
+#: report/templates/report/inventree_build_order_report.html:105
+#: stock/serializers.py:83 templates/email/build_order_completed.html:16
+#: templates/email/overdue_build_order.html:15
+#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892
+msgid "Build Order"
+msgstr ""
+
+#: build/models.py:84 build/templates/build/build_base.html:13
+#: build/templates/build/index.html:8 build/templates/build/index.html:12
+#: order/templates/order/sales_order_detail.html:111
+#: order/templates/order/so_sidebar.html:13
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196
+#: templates/InvenTree/search.html:141
+#: templates/InvenTree/settings/sidebar.html:55
+#: templates/js/translated/search.js:186 users/models.py:207
+msgid "Build Orders"
+msgstr ""
+
+#: build/models.py:131
+msgid "Invalid choice for parent build"
+msgstr ""
+
+#: build/models.py:142 order/models.py:240
+msgid "Responsible user or group must be specified"
+msgstr ""
+
+#: build/models.py:148
+msgid "Build order part cannot be changed"
+msgstr ""
+
+#: build/models.py:209
+msgid "Build Order Reference"
+msgstr ""
+
+#: build/models.py:210 order/models.py:463 order/models.py:928
+#: order/models.py:1325 order/models.py:2056 part/admin.py:419
+#: part/models.py:4131 part/templates/part/upload_bom.html:54
+#: report/templates/report/inventree_bill_of_materials_report.html:139
+#: report/templates/report/inventree_purchase_order_report.html:28
+#: report/templates/report/inventree_return_order_report.html:26
+#: report/templates/report/inventree_sales_order_report.html:28
+#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973
+#: templates/js/translated/build.js:2512 templates/js/translated/order.js:291
+#: templates/js/translated/pricing.js:386
+#: templates/js/translated/purchase_order.js:2065
+#: templates/js/translated/return_order.js:728
+#: templates/js/translated/sales_order.js:1854
+msgid "Reference"
+msgstr ""
+
+#: build/models.py:221
+msgid "Brief description of the build (optional)"
+msgstr ""
+
+#: build/models.py:229 build/templates/build/build_base.html:183
+#: build/templates/build/detail.html:87
+msgid "Parent Build"
+msgstr ""
+
+#: build/models.py:230
+msgid "BuildOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:235 build/templates/build/build_base.html:97
+#: build/templates/build/detail.html:29 company/models.py:1058 order/api.py:821
+#: order/models.py:1450 order/models.py:1595 order/models.py:1596
+#: part/api.py:1500 part/api.py:1794 part/models.py:393 part/models.py:3038
+#: part/models.py:3182 part/models.py:3326 part/models.py:3349
+#: part/models.py:3370 part/models.py:3392 part/models.py:3523
+#: part/models.py:3833 part/models.py:3989 part/models.py:4082
+#: part/models.py:4443 part/serializers.py:1127 part/serializers.py:1733
+#: part/templates/part/part_app_base.html:8
+#: part/templates/part/part_pricing.html:12
+#: part/templates/part/upload_bom.html:52
+#: report/templates/report/inventree_bill_of_materials_report.html:110
+#: report/templates/report/inventree_bill_of_materials_report.html:137
+#: report/templates/report/inventree_build_order_report.html:109
+#: report/templates/report/inventree_purchase_order_report.html:27
+#: report/templates/report/inventree_return_order_report.html:24
+#: report/templates/report/inventree_sales_order_report.html:27
+#: report/templates/report/inventree_stock_location_report.html:102
+#: stock/serializers.py:110 stock/serializers.py:158 stock/serializers.py:399
+#: stock/serializers.py:821 templates/InvenTree/search.html:82
+#: templates/email/build_order_completed.html:17
+#: templates/email/build_order_required_stock.html:17
+#: templates/email/low_stock_notification.html:15
+#: templates/email/overdue_build_order.html:16
+#: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632
+#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1312 templates/js/translated/build.js:1743
+#: templates/js/translated/build.js:2162 templates/js/translated/build.js:2335
+#: templates/js/translated/company.js:348
+#: templates/js/translated/company.js:1116
+#: templates/js/translated/company.js:1271
+#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109
+#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016
+#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369
+#: templates/js/translated/purchase_order.js:751
+#: templates/js/translated/purchase_order.js:1304
+#: templates/js/translated/purchase_order.js:1848
+#: templates/js/translated/purchase_order.js:2007
+#: templates/js/translated/return_order.js:538
+#: templates/js/translated/return_order.js:709
+#: templates/js/translated/sales_order.js:300
+#: templates/js/translated/sales_order.js:1233
+#: templates/js/translated/sales_order.js:1634
+#: templates/js/translated/sales_order.js:1832
+#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842
+#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090
+#: templates/js/translated/stock.js:3236
+msgid "Part"
+msgstr ""
+
+#: build/models.py:243
+msgid "Select part to build"
+msgstr ""
+
+#: build/models.py:248
+msgid "Sales Order Reference"
+msgstr ""
+
+#: build/models.py:252
+msgid "SalesOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:257 build/serializers.py:1000
+#: templates/js/translated/build.js:1731
+#: templates/js/translated/sales_order.js:1221
+msgid "Source Location"
+msgstr ""
+
+#: build/models.py:261
+msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
+msgstr ""
+
+#: build/models.py:266
+msgid "Destination Location"
+msgstr ""
+
+#: build/models.py:270
+msgid "Select location where the completed items will be stored"
+msgstr ""
+
+#: build/models.py:274
+msgid "Build Quantity"
+msgstr ""
+
+#: build/models.py:277
+msgid "Number of stock items to build"
+msgstr ""
+
+#: build/models.py:281
+msgid "Completed items"
+msgstr ""
+
+#: build/models.py:283
+msgid "Number of stock items which have been completed"
+msgstr ""
+
+#: build/models.py:287
+msgid "Build Status"
+msgstr ""
+
+#: build/models.py:291
+msgid "Build status code"
+msgstr ""
+
+#: build/models.py:300 build/serializers.py:287 order/serializers.py:582
+#: stock/models.py:840 stock/serializers.py:75 stock/serializers.py:1465
+#: templates/js/translated/purchase_order.js:1129
+msgid "Batch Code"
+msgstr ""
+
+#: build/models.py:304 build/serializers.py:288
+msgid "Batch code for this build output"
+msgstr ""
+
+#: build/models.py:307 order/models.py:316 order/serializers.py:121
+#: part/models.py:1123 part/templates/part/part_base.html:310
+#: templates/js/translated/return_order.js:338
+#: templates/js/translated/sales_order.js:863
+msgid "Creation Date"
+msgstr ""
+
+#: build/models.py:311
+msgid "Target completion date"
+msgstr ""
+
+#: build/models.py:312
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:315 order/models.py:521 order/models.py:2101
+#: templates/js/translated/build.js:2247
+msgid "Completion Date"
+msgstr ""
+
+#: build/models.py:321
+msgid "completed by"
+msgstr ""
+
+#: build/models.py:329 templates/js/translated/build.js:2207
+msgid "Issued by"
+msgstr ""
+
+#: build/models.py:330
+msgid "User who issued this build order"
+msgstr ""
+
+#: build/models.py:338 build/templates/build/build_base.html:204
+#: build/templates/build/detail.html:122 common/models.py:143
+#: order/models.py:334 order/templates/order/order_base.html:217
+#: order/templates/order/return_order_base.html:188
+#: order/templates/order/sales_order_base.html:232 part/models.py:1140
+#: part/templates/part/part_base.html:390
+#: report/templates/report/inventree_build_order_report.html:158
+#: templates/InvenTree/settings/settings_staff_js.html:150
+#: templates/js/translated/build.js:2219
+#: templates/js/translated/purchase_order.js:1763
+#: templates/js/translated/return_order.js:358
+#: templates/js/translated/table_filters.js:531
+msgid "Responsible"
+msgstr ""
+
+#: build/models.py:339
+msgid "User or group responsible for this build order"
+msgstr ""
+
+#: build/models.py:344 build/templates/build/detail.html:108
+#: company/templates/company/manufacturer_part.html:107
+#: company/templates/company/supplier_part.html:194
+#: order/templates/order/order_base.html:167
+#: order/templates/order/return_order_base.html:145
+#: order/templates/order/sales_order_base.html:184
+#: part/templates/part/part_base.html:383 stock/models.py:836
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/company.js:1019
+msgid "External Link"
+msgstr ""
+
+#: build/models.py:349
+msgid "Build Priority"
+msgstr ""
+
+#: build/models.py:352
+msgid "Priority of this build order"
+msgstr ""
+
+#: build/models.py:359 common/models.py:127 order/admin.py:18
+#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146
+#: templates/js/translated/build.js:2144
+#: templates/js/translated/purchase_order.js:1710
+#: templates/js/translated/return_order.js:317
+#: templates/js/translated/sales_order.js:842
+#: templates/js/translated/table_filters.js:48
+#: templates/project_code_data.html:6
+msgid "Project Code"
+msgstr ""
+
+#: build/models.py:360
+msgid "Project code for this build order"
+msgstr ""
+
+#: build/models.py:593 build/models.py:658
+msgid "Failed to offload task to complete build allocations"
+msgstr ""
+
+#: build/models.py:615
+#, python-brace-format
+msgid "Build order {build} has been completed"
+msgstr ""
+
+#: build/models.py:621
+msgid "A build order has been completed"
+msgstr ""
+
+#: build/models.py:847 build/models.py:932
+msgid "No build output specified"
+msgstr ""
+
+#: build/models.py:850
+msgid "Build output is already completed"
+msgstr ""
+
+#: build/models.py:853
+msgid "Build output does not match Build Order"
+msgstr ""
+
+#: build/models.py:936 build/serializers.py:220 build/serializers.py:269
+#: build/serializers.py:867 order/models.py:559 order/serializers.py:434
+#: order/serializers.py:577 part/serializers.py:1491 part/serializers.py:1891
+#: stock/models.py:679 stock/models.py:1499 stock/serializers.py:604
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:941 build/serializers.py:225
+msgid "Quantity cannot be greater than the output quantity"
+msgstr ""
+
+#: build/models.py:1001 build/serializers.py:548
+#, python-brace-format
+msgid "Build output {serial} has not passed all required tests"
+msgstr ""
+
+#: build/models.py:1352
+msgid "Build Order Line Item"
+msgstr ""
+
+#: build/models.py:1377
+msgid "Build object"
+msgstr ""
+
+#: build/models.py:1391 build/models.py:1647 build/serializers.py:207
+#: build/serializers.py:254 build/templates/build/build_base.html:102
+#: build/templates/build/detail.html:34 common/models.py:2508
+#: order/models.py:1308 order/models.py:1967 order/serializers.py:1340
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:418
+#: part/forms.py:48 part/models.py:3196 part/models.py:4104
+#: part/templates/part/part_pricing.html:16
+#: part/templates/part/upload_bom.html:53
+#: report/templates/report/inventree_bill_of_materials_report.html:138
+#: report/templates/report/inventree_build_order_report.html:113
+#: report/templates/report/inventree_purchase_order_report.html:29
+#: report/templates/report/inventree_sales_order_report.html:29
+#: report/templates/report/inventree_stock_location_report.html:104
+#: report/templates/report/inventree_test_report.html:90
+#: report/templates/report/inventree_test_report.html:170 stock/admin.py:160
+#: stock/serializers.py:126 stock/serializers.py:166 stock/serializers.py:595
+#: stock/templates/stock/item_base.html:287
+#: stock/templates/stock/item_base.html:295
+#: stock/templates/stock/item_base.html:342
+#: templates/email/build_order_completed.html:18
+#: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771
+#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521
+#: templates/js/translated/build.js:737 templates/js/translated/build.js:1369
+#: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357
+#: templates/js/translated/company.js:1818
+#: templates/js/translated/model_renderers.js:236
+#: templates/js/translated/order.js:304 templates/js/translated/part.js:962
+#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342
+#: templates/js/translated/pricing.js:381
+#: templates/js/translated/pricing.js:474
+#: templates/js/translated/pricing.js:522
+#: templates/js/translated/pricing.js:616
+#: templates/js/translated/purchase_order.js:754
+#: templates/js/translated/purchase_order.js:1852
+#: templates/js/translated/purchase_order.js:2071
+#: templates/js/translated/sales_order.js:317
+#: templates/js/translated/sales_order.js:1235
+#: templates/js/translated/sales_order.js:1554
+#: templates/js/translated/sales_order.js:1644
+#: templates/js/translated/sales_order.js:1734
+#: templates/js/translated/sales_order.js:1860
+#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702
+#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021
+#: templates/js/translated/stock.js:3104
+msgid "Quantity"
+msgstr ""
+
+#: build/models.py:1392
+msgid "Required quantity for build order"
+msgstr ""
+
+#: build/models.py:1472
+msgid "Build item must specify a build output, as master part is marked as trackable"
+msgstr ""
+
+#: build/models.py:1481
+#, python-brace-format
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
+msgstr ""
+
+#: build/models.py:1491 order/models.py:1918
+msgid "Stock item is over-allocated"
+msgstr ""
+
+#: build/models.py:1497 order/models.py:1921
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1503
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1562
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1634 build/serializers.py:847 order/serializers.py:1184
+#: order/serializers.py:1205 stock/models.py:360 stock/serializers.py:92
+#: stock/serializers.py:698 stock/serializers.py:1184 stock/serializers.py:1296
+#: stock/templates/stock/item_base.html:10
+#: stock/templates/stock/item_base.html:23
+#: stock/templates/stock/item_base.html:194
+#: templates/js/translated/build.js:1745
+#: templates/js/translated/sales_order.js:301
+#: templates/js/translated/sales_order.js:1234
+#: templates/js/translated/sales_order.js:1535
+#: templates/js/translated/sales_order.js:1540
+#: templates/js/translated/sales_order.js:1641
+#: templates/js/translated/sales_order.js:1728
+#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843
+#: templates/js/translated/stock.js:2977
+msgid "Stock Item"
+msgstr ""
+
+#: build/models.py:1635
+msgid "Source stock item"
+msgstr ""
+
+#: build/models.py:1648
+msgid "Stock quantity to allocate to build"
+msgstr ""
+
+#: build/models.py:1656
+msgid "Install into"
+msgstr ""
+
+#: build/models.py:1657
+msgid "Destination stock item"
+msgstr ""
+
+#: build/serializers.py:157 build/serializers.py:876
+#: templates/js/translated/build.js:1322
+msgid "Build Output"
+msgstr ""
+
+#: build/serializers.py:169
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:173
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:177
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:188
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:208 build/serializers.py:255
+msgid "Enter quantity for build output"
+msgstr ""
+
+#: build/serializers.py:276
+msgid "Integer quantity required for trackable parts"
+msgstr ""
+
+#: build/serializers.py:279
+msgid "Integer quantity required, as the bill of materials contains trackable parts"
+msgstr ""
+
+#: build/serializers.py:294 order/serializers.py:590 order/serializers.py:1344
+#: stock/serializers.py:615 templates/js/translated/purchase_order.js:1153
+#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565
+msgid "Serial Numbers"
+msgstr ""
+
+#: build/serializers.py:295
+msgid "Enter serial numbers for build outputs"
+msgstr ""
+
+#: build/serializers.py:300 build/serializers.py:441 build/serializers.py:513
+#: order/serializers.py:566 order/serializers.py:674 order/serializers.py:1680
+#: part/serializers.py:1147 stock/serializers.py:101 stock/serializers.py:626
+#: stock/serializers.py:786 stock/serializers.py:882 stock/serializers.py:1328
+#: stock/serializers.py:1584 stock/templates/stock/item_base.html:394
+#: templates/js/translated/barcode.js:547
+#: templates/js/translated/barcode.js:795 templates/js/translated/build.js:1001
+#: templates/js/translated/build.js:2372
+#: templates/js/translated/purchase_order.js:1178
+#: templates/js/translated/purchase_order.js:1268
+#: templates/js/translated/sales_order.js:1547
+#: templates/js/translated/sales_order.js:1655
+#: templates/js/translated/sales_order.js:1663
+#: templates/js/translated/sales_order.js:1742
+#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201
+#: templates/js/translated/stock.js:2871
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:301
+msgid "Stock location for build output"
+msgstr ""
+
+#: build/serializers.py:315
+msgid "Auto Allocate Serial Numbers"
+msgstr ""
+
+#: build/serializers.py:316
+msgid "Automatically allocate required items with matching serial numbers"
+msgstr ""
+
+#: build/serializers.py:331
+msgid "Serial numbers must be provided for trackable parts"
+msgstr ""
+
+#: build/serializers.py:356 stock/api.py:1031
+msgid "The following serial numbers already exist or are invalid"
+msgstr ""
+
+#: build/serializers.py:403 build/serializers.py:465 build/serializers.py:554
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:442
+msgid "Stock location for scrapped outputs"
+msgstr ""
+
+#: build/serializers.py:448
+msgid "Discard Allocations"
+msgstr ""
+
+#: build/serializers.py:449
+msgid "Discard any stock allocations for scrapped outputs"
+msgstr ""
+
+#: build/serializers.py:454
+msgid "Reason for scrapping build output(s)"
+msgstr ""
+
+#: build/serializers.py:514
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:520 build/templates/build/build_base.html:151
+#: build/templates/build/detail.html:62 order/models.py:952
+#: order/models.py:2080 order/serializers.py:598 stock/admin.py:165
+#: stock/serializers.py:933 stock/serializers.py:1472
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2191
+#: templates/js/translated/purchase_order.js:1308
+#: templates/js/translated/purchase_order.js:1722
+#: templates/js/translated/return_order.js:330
+#: templates/js/translated/sales_order.js:855
+#: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995
+#: templates/js/translated/stock.js:3120
+msgid "Status"
+msgstr ""
+
+#: build/serializers.py:526
+msgid "Accept Incomplete Allocation"
+msgstr ""
+
+#: build/serializers.py:527
+msgid "Complete outputs if stock has not been fully allocated"
+msgstr ""
+
+#: build/serializers.py:612
+msgid "Consume Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:613
+msgid "Consume any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:619
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:620
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:647
+msgid "Not permitted"
+msgstr ""
+
+#: build/serializers.py:648
+msgid "Accept as consumed by this build order"
+msgstr ""
+
+#: build/serializers.py:649
+msgid "Deallocate before completing this build order"
+msgstr ""
+
+#: build/serializers.py:679
+msgid "Overallocated Stock"
+msgstr ""
+
+#: build/serializers.py:681
+msgid "How do you want to handle extra stock items assigned to the build order"
+msgstr ""
+
+#: build/serializers.py:691
+msgid "Some stock items have been overallocated"
+msgstr ""
+
+#: build/serializers.py:696
+msgid "Accept Unallocated"
+msgstr ""
+
+#: build/serializers.py:697
+msgid "Accept that stock items have not been fully allocated to this build order"
+msgstr ""
+
+#: build/serializers.py:707 templates/js/translated/build.js:315
+msgid "Required stock has not been fully allocated"
+msgstr ""
+
+#: build/serializers.py:712 order/serializers.py:302 order/serializers.py:1247
+msgid "Accept Incomplete"
+msgstr ""
+
+#: build/serializers.py:713
+msgid "Accept that the required number of build outputs have not been completed"
+msgstr ""
+
+#: build/serializers.py:723 templates/js/translated/build.js:319
+msgid "Required build quantity has not been completed"
+msgstr ""
+
+#: build/serializers.py:732 templates/js/translated/build.js:303
+msgid "Build order has incomplete outputs"
+msgstr ""
+
+#: build/serializers.py:770
+msgid "Build Line"
+msgstr ""
+
+#: build/serializers.py:780
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:788
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:824
+msgid "Build Line Item"
+msgstr ""
+
+#: build/serializers.py:838
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:853 stock/serializers.py:1197
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:901 order/serializers.py:1238
+#, python-brace-format
+msgid "Available quantity ({q}) exceeded"
+msgstr ""
+
+#: build/serializers.py:907
+msgid "Build output must be specified for allocation of tracked parts"
+msgstr ""
+
+#: build/serializers.py:914
+msgid "Build output cannot be specified for allocation of untracked parts"
+msgstr ""
+
+#: build/serializers.py:938 order/serializers.py:1490
+msgid "Allocation items must be provided"
+msgstr ""
+
+#: build/serializers.py:1001
+msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
+msgstr ""
+
+#: build/serializers.py:1009
+msgid "Exclude Location"
+msgstr ""
+
+#: build/serializers.py:1010
+msgid "Exclude stock items from this selected location"
+msgstr ""
+
+#: build/serializers.py:1015
+msgid "Interchangeable Stock"
+msgstr ""
+
+#: build/serializers.py:1016
+msgid "Stock items in multiple locations can be used interchangeably"
+msgstr ""
+
+#: build/serializers.py:1021
+msgid "Substitute Stock"
+msgstr ""
+
+#: build/serializers.py:1022
+msgid "Allow allocation of substitute parts"
+msgstr ""
+
+#: build/serializers.py:1027
+msgid "Optional Items"
+msgstr ""
+
+#: build/serializers.py:1028
+msgid "Allocate optional BOM items to build order"
+msgstr ""
+
+#: build/serializers.py:1050
+msgid "Failed to start auto-allocation task"
+msgstr ""
+
+#: build/serializers.py:1140 part/models.py:3999 part/models.py:4435
+#: stock/api.py:794
+msgid "BOM Item"
+msgstr ""
+
+#: build/serializers.py:1149 templates/js/translated/index.js:130
+msgid "Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:1154 part/admin.py:132 part/bom.py:173
+#: part/serializers.py:835 part/serializers.py:1509
+#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208
+#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710
+#: templates/js/translated/part.js:2149
+#: templates/js/translated/table_filters.js:170
+msgid "On Order"
+msgstr ""
+
+#: build/serializers.py:1159 part/serializers.py:1511
+#: templates/js/translated/build.js:2617
+#: templates/js/translated/table_filters.js:360
+msgid "In Production"
+msgstr ""
+
+#: build/serializers.py:1164 part/bom.py:172 part/serializers.py:1534
+#: part/templates/part/part_base.html:192
+#: templates/js/translated/sales_order.js:1929
+msgid "Available Stock"
+msgstr ""
+
+#: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12
+#: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82
+#: templates/js/translated/table_filters.js:598
+msgid "Pending"
+msgstr ""
+
+#: build/status_codes.py:12
+msgid "Production"
+msgstr ""
+
+#: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45
+#: order/status_codes.py:70
+msgid "Cancelled"
+msgstr ""
+
+#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14
+#: order/status_codes.py:44 order/status_codes.py:69
+#: order/templates/order/order_base.html:158
+#: order/templates/order/sales_order_base.html:165 report/models.py:443
+msgid "Complete"
+msgstr ""
+
+#: build/tasks.py:184
+msgid "Stock required for build order"
+msgstr ""
+
+#: build/tasks.py:201
+msgid "Overdue Build Order"
+msgstr ""
+
+#: build/tasks.py:206
+#, python-brace-format
+msgid "Build order {bo} is now overdue"
+msgstr ""
+
+#: build/templates/build/build_base.html:18
+msgid "Part thumbnail"
+msgstr ""
+
+#: build/templates/build/build_base.html:38
+#: company/templates/company/supplier_part.html:35
+#: order/templates/order/order_base.html:29
+#: order/templates/order/return_order_base.html:38
+#: order/templates/order/sales_order_base.html:38
+#: part/templates/part/part_base.html:41
+#: stock/templates/stock/item_base.html:40
+#: stock/templates/stock/location.html:55
+#: templates/js/translated/filters.js:335
+msgid "Barcode actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:42
+#: company/templates/company/supplier_part.html:39
+#: order/templates/order/order_base.html:33
+#: order/templates/order/return_order_base.html:42
+#: order/templates/order/sales_order_base.html:42
+#: part/templates/part/part_base.html:44
+#: stock/templates/stock/item_base.html:44
+#: stock/templates/stock/location.html:57 templates/qr_button.html:1
+msgid "Show QR Code"
+msgstr ""
+
+#: build/templates/build/build_base.html:45
+#: company/templates/company/supplier_part.html:41
+#: order/templates/order/order_base.html:36
+#: order/templates/order/return_order_base.html:45
+#: order/templates/order/sales_order_base.html:45
+#: part/templates/part/part_base.html:47
+#: stock/templates/stock/item_base.html:47
+#: stock/templates/stock/location.html:59
+#: templates/js/translated/barcode.js:496
+#: templates/js/translated/barcode.js:501
+msgid "Unlink Barcode"
+msgstr ""
+
+#: build/templates/build/build_base.html:47
+#: company/templates/company/supplier_part.html:43
+#: order/templates/order/order_base.html:38
+#: order/templates/order/return_order_base.html:47
+#: order/templates/order/sales_order_base.html:47
+#: part/templates/part/part_base.html:49
+#: stock/templates/stock/item_base.html:49
+#: stock/templates/stock/location.html:61
+msgid "Link Barcode"
+msgstr ""
+
+#: build/templates/build/build_base.html:56
+#: order/templates/order/order_base.html:46
+#: order/templates/order/return_order_base.html:55
+#: order/templates/order/sales_order_base.html:55
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:60
+msgid "Print build order report"
+msgstr ""
+
+#: build/templates/build/build_base.html:67
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:71
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:73
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:76
+msgid "Duplicate Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:79
+msgid "Delete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:85
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:107
+msgid "Build Description"
+msgstr ""
+
+#: build/templates/build/build_base.html:117
+msgid "No build outputs have been created for this build order"
+msgstr ""
+
+#: build/templates/build/build_base.html:124
+msgid "Build Order is ready to mark as completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:129
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr ""
+
+#: build/templates/build/build_base.html:134
+msgid "Required build quantity has not yet been completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:139
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:160
+#: build/templates/build/detail.html:138 order/models.py:309
+#: order/models.py:1343 order/templates/order/order_base.html:186
+#: order/templates/order/return_order_base.html:164
+#: order/templates/order/sales_order_base.html:196
+#: report/templates/report/inventree_build_order_report.html:125
+#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1831
+#: templates/js/translated/purchase_order.js:1739
+#: templates/js/translated/purchase_order.js:2147
+#: templates/js/translated/return_order.js:346
+#: templates/js/translated/return_order.js:750
+#: templates/js/translated/sales_order.js:871
+#: templates/js/translated/sales_order.js:1903
+msgid "Target Date"
+msgstr ""
+
+#: build/templates/build/build_base.html:165
+#, python-format
+msgid "This build was due on %(target)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:165
+#: build/templates/build/build_base.html:222
+#: order/templates/order/order_base.html:122
+#: order/templates/order/return_order_base.html:117
+#: order/templates/order/sales_order_base.html:126
+#: templates/js/translated/table_filters.js:98
+#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:626
+#: templates/js/translated/table_filters.js:667
+msgid "Overdue"
+msgstr ""
+
+#: build/templates/build/build_base.html:177
+#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13
+msgid "Completed Outputs"
+msgstr ""
+
+#: build/templates/build/build_base.html:190
+#: build/templates/build/detail.html:101 order/api.py:1511 order/models.py:847
+#: order/models.py:1587 order/models.py:1701 order/models.py:1855
+#: order/templates/order/sales_order_base.html:9
+#: order/templates/order/sales_order_base.html:28
+#: report/templates/report/inventree_build_order_report.html:135
+#: report/templates/report/inventree_sales_order_report.html:14
+#: stock/templates/stock/item_base.html:369
+#: templates/email/overdue_sales_order.html:15
+#: templates/js/translated/pricing.js:929
+#: templates/js/translated/sales_order.js:805
+#: templates/js/translated/sales_order.js:1028
+#: templates/js/translated/stock.js:2924
+msgid "Sales Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:197
+#: build/templates/build/detail.html:115
+#: report/templates/report/inventree_build_order_report.html:152
+#: templates/js/translated/table_filters.js:24
+msgid "Issued By"
+msgstr ""
+
+#: build/templates/build/build_base.html:211
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2156
+msgid "Priority"
+msgstr ""
+
+#: build/templates/build/build_base.html:269
+msgid "Delete Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:279
+msgid "Build Order QR Code"
+msgstr ""
+
+#: build/templates/build/build_base.html:291
+msgid "Link Barcode to Build Order"
+msgstr ""
+
+#: build/templates/build/detail.html:15
+msgid "Build Details"
+msgstr ""
+
+#: build/templates/build/detail.html:38
+msgid "Stock Source"
+msgstr ""
+
+#: build/templates/build/detail.html:43
+msgid "Stock can be taken from any available location."
+msgstr ""
+
+#: build/templates/build/detail.html:49 order/models.py:1479
+#: templates/js/translated/purchase_order.js:2189
+msgid "Destination"
+msgstr ""
+
+#: build/templates/build/detail.html:56
+msgid "Destination location not specified"
+msgstr ""
+
+#: build/templates/build/detail.html:73
+msgid "Allocated Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:80 stock/admin.py:163
+#: stock/templates/stock/item_base.html:162
+#: templates/js/translated/build.js:1380
+#: templates/js/translated/model_renderers.js:241
+#: templates/js/translated/purchase_order.js:1274
+#: templates/js/translated/stock.js:1133 templates/js/translated/stock.js:2190
+#: templates/js/translated/stock.js:3127
+#: templates/js/translated/table_filters.js:313
+#: templates/js/translated/table_filters.js:404
+msgid "Batch"
+msgstr ""
+
+#: build/templates/build/detail.html:133
+#: order/templates/order/order_base.html:173
+#: order/templates/order/return_order_base.html:151
+#: order/templates/order/sales_order_base.html:190
+#: templates/js/translated/build.js:2199
+msgid "Created"
+msgstr ""
+
+#: build/templates/build/detail.html:144
+msgid "No target date set"
+msgstr ""
+
+#: build/templates/build/detail.html:149
+#: order/templates/order/sales_order_base.html:206
+#: templates/js/translated/table_filters.js:689
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/detail.html:153
+msgid "Build not complete"
+msgstr ""
+
+#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17
+msgid "Child Build Orders"
+msgstr ""
+
+#: build/templates/build/detail.html:177
+msgid "Allocate Stock to Build"
+msgstr ""
+
+#: build/templates/build/detail.html:181
+msgid "Deallocate stock"
+msgstr ""
+
+#: build/templates/build/detail.html:182
+msgid "Deallocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:184
+msgid "Automatically allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:185
+msgid "Auto Allocate"
+msgstr ""
+
+#: build/templates/build/detail.html:187
+msgid "Manually allocate stock to build"
+msgstr ""
+
+#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:191
+msgid "Order required parts"
+msgstr ""
+
+#: build/templates/build/detail.html:192
+#: templates/js/translated/purchase_order.js:795
+msgid "Order Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:205
+msgid "Available stock has been filtered based on specified source location for this build order"
+msgstr ""
+
+#: build/templates/build/detail.html:215
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/detail.html:219
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/detail.html:220
+msgid "New Build Output"
+msgstr ""
+
+#: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15
+msgid "Consumed Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:249
+msgid "Completed Build Outputs"
+msgstr ""
+
+#: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19
+#: company/templates/company/detail.html:229
+#: company/templates/company/manufacturer_part.html:141
+#: company/templates/company/manufacturer_part_sidebar.html:9
+#: company/templates/company/sidebar.html:39
+#: order/templates/order/po_sidebar.html:9
+#: order/templates/order/purchase_order_detail.html:84
+#: order/templates/order/return_order_detail.html:70
+#: order/templates/order/return_order_sidebar.html:7
+#: order/templates/order/sales_order_detail.html:124
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217
+#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110
+#: stock/templates/stock/stock_sidebar.html:23
+msgid "Attachments"
+msgstr ""
+
+#: build/templates/build/detail.html:276
+msgid "Build Notes"
+msgstr ""
+
+#: build/templates/build/detail.html:437
+msgid "Allocation Complete"
+msgstr ""
+
+#: build/templates/build/detail.html:438
+msgid "All lines have been fully allocated"
+msgstr ""
+
+#: build/templates/build/index.html:18 part/templates/part/detail.html:319
+msgid "New Build Order"
+msgstr ""
+
+#: build/templates/build/sidebar.html:5
+msgid "Build Order Details"
+msgstr ""
+
+#: build/templates/build/sidebar.html:10
+msgid "Incomplete Outputs"
+msgstr ""
+
+#: common/currency.py:132
+msgid "Invalid currency code"
+msgstr ""
+
+#: common/currency.py:134
+msgid "Duplicate currency code"
+msgstr ""
+
+#: common/currency.py:139
+msgid "No valid currency codes provided"
+msgstr ""
+
+#: common/currency.py:153
+msgid "No plugin"
+msgstr ""
+
+#: common/files.py:63
+#, python-brace-format
+msgid "Unsupported file format: {fmt}"
+msgstr ""
+
+#: common/files.py:65
+msgid "Error reading file (invalid encoding)"
+msgstr ""
+
+#: common/files.py:70
+msgid "Error reading file (invalid format)"
+msgstr ""
+
+#: common/files.py:72
+msgid "Error reading file (incorrect dimension)"
+msgstr ""
+
+#: common/files.py:74
+msgid "Error reading file (data could be corrupted)"
+msgstr ""
+
+#: common/forms.py:12
+msgid "File"
+msgstr ""
+
+#: common/forms.py:12
+msgid "Select file to upload"
+msgstr ""
+
+#: common/forms.py:25
+msgid "{name.title()} File"
+msgstr ""
+
+#: common/forms.py:26
+#, python-brace-format
+msgid "Select {name} file to upload"
+msgstr ""
+
+#: common/models.py:69
+msgid "Updated"
+msgstr ""
+
+#: common/models.py:70
+msgid "Timestamp of last update"
+msgstr ""
+
+#: common/models.py:103
+msgid "Site URL is locked by configuration"
+msgstr ""
+
+#: common/models.py:128
+msgid "Unique project code"
+msgstr ""
+
+#: common/models.py:135
+msgid "Project description"
+msgstr ""
+
+#: common/models.py:144
+msgid "User or group responsible for this project"
+msgstr ""
+
+#: common/models.py:764
+msgid "Settings key (must be unique - case insensitive)"
+msgstr ""
+
+#: common/models.py:768
+msgid "Settings value"
+msgstr ""
+
+#: common/models.py:820
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:836
+msgid "Value must be a boolean value"
+msgstr ""
+
+#: common/models.py:844
+msgid "Value must be an integer value"
+msgstr ""
+
+#: common/models.py:881
+msgid "Key string must be unique"
+msgstr ""
+
+#: common/models.py:1113
+msgid "No group"
+msgstr ""
+
+#: common/models.py:1212
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:1214
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:1221
+msgid "Pending migrations"
+msgstr ""
+
+#: common/models.py:1222
+msgid "Number of pending database migrations"
+msgstr ""
+
+#: common/models.py:1227
+msgid "Server Instance Name"
+msgstr ""
+
+#: common/models.py:1229
+msgid "String descriptor for the server instance"
+msgstr ""
+
+#: common/models.py:1233
+msgid "Use instance name"
+msgstr ""
+
+#: common/models.py:1234
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:1239
+msgid "Restrict showing `about`"
+msgstr ""
+
+#: common/models.py:1240
+msgid "Show the `about` modal only to superusers"
+msgstr ""
+
+#: common/models.py:1245 company/models.py:108 company/models.py:109
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:1246
+msgid "Internal company name"
+msgstr ""
+
+#: common/models.py:1250
+msgid "Base URL"
+msgstr ""
+
+#: common/models.py:1251
+msgid "Base URL for server instance"
+msgstr ""
+
+#: common/models.py:1257
+msgid "Default Currency"
+msgstr ""
+
+#: common/models.py:1258
+msgid "Select base currency for pricing calculations"
+msgstr ""
+
+#: common/models.py:1264
+msgid "Supported Currencies"
+msgstr ""
+
+#: common/models.py:1265
+msgid "List of supported currency codes"
+msgstr ""
+
+#: common/models.py:1271
+msgid "Currency Update Interval"
+msgstr ""
+
+#: common/models.py:1273
+msgid "How often to update exchange rates (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1276 common/models.py:1332 common/models.py:1345
+#: common/models.py:1353 common/models.py:1362 common/models.py:1371
+#: common/models.py:1589 common/models.py:1611 common/models.py:1726
+#: common/models.py:2045
+msgid "days"
+msgstr ""
+
+#: common/models.py:1280
+msgid "Currency Update Plugin"
+msgstr ""
+
+#: common/models.py:1281
+msgid "Currency update plugin to use"
+msgstr ""
+
+#: common/models.py:1286
+msgid "Download from URL"
+msgstr ""
+
+#: common/models.py:1288
+msgid "Allow download of remote images and files from external URL"
+msgstr ""
+
+#: common/models.py:1294
+msgid "Download Size Limit"
+msgstr ""
+
+#: common/models.py:1295
+msgid "Maximum allowable download size for remote image"
+msgstr ""
+
+#: common/models.py:1301
+msgid "User-agent used to download from URL"
+msgstr ""
+
+#: common/models.py:1303
+msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)"
+msgstr ""
+
+#: common/models.py:1308
+msgid "Strict URL Validation"
+msgstr ""
+
+#: common/models.py:1309
+msgid "Require schema specification when validating URLs"
+msgstr ""
+
+#: common/models.py:1314
+msgid "Require confirm"
+msgstr ""
+
+#: common/models.py:1315
+msgid "Require explicit user confirmation for certain action."
+msgstr ""
+
+#: common/models.py:1320
+msgid "Tree Depth"
+msgstr ""
+
+#: common/models.py:1322
+msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
+msgstr ""
+
+#: common/models.py:1328
+msgid "Update Check Interval"
+msgstr ""
+
+#: common/models.py:1329
+msgid "How often to check for updates (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1335
+msgid "Automatic Backup"
+msgstr ""
+
+#: common/models.py:1336
+msgid "Enable automatic backup of database and media files"
+msgstr ""
+
+#: common/models.py:1341
+msgid "Auto Backup Interval"
+msgstr ""
+
+#: common/models.py:1342
+msgid "Specify number of days between automated backup events"
+msgstr ""
+
+#: common/models.py:1348
+msgid "Task Deletion Interval"
+msgstr ""
+
+#: common/models.py:1350
+msgid "Background task results will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1357
+msgid "Error Log Deletion Interval"
+msgstr ""
+
+#: common/models.py:1359
+msgid "Error logs will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1366
+msgid "Notification Deletion Interval"
+msgstr ""
+
+#: common/models.py:1368
+msgid "User notifications will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1375 templates/InvenTree/settings/sidebar.html:31
+msgid "Barcode Support"
+msgstr ""
+
+#: common/models.py:1376
+msgid "Enable barcode scanner support in the web interface"
+msgstr ""
+
+#: common/models.py:1381
+msgid "Barcode Input Delay"
+msgstr ""
+
+#: common/models.py:1382
+msgid "Barcode input processing delay time"
+msgstr ""
+
+#: common/models.py:1388
+msgid "Barcode Webcam Support"
+msgstr ""
+
+#: common/models.py:1389
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:1394
+msgid "Part Revisions"
+msgstr ""
+
+#: common/models.py:1395
+msgid "Enable revision field for Part"
+msgstr ""
+
+#: common/models.py:1400
+msgid "Allow Deletion from Assembly"
+msgstr ""
+
+#: common/models.py:1401
+msgid "Allow deletion of parts which are used in an assembly"
+msgstr ""
+
+#: common/models.py:1406
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:1407
+msgid "Regular expression pattern for matching Part IPN"
+msgstr ""
+
+#: common/models.py:1410
+msgid "Allow Duplicate IPN"
+msgstr ""
+
+#: common/models.py:1411
+msgid "Allow multiple parts to share the same IPN"
+msgstr ""
+
+#: common/models.py:1416
+msgid "Allow Editing IPN"
+msgstr ""
+
+#: common/models.py:1417
+msgid "Allow changing the IPN value while editing a part"
+msgstr ""
+
+#: common/models.py:1422
+msgid "Copy Part BOM Data"
+msgstr ""
+
+#: common/models.py:1423
+msgid "Copy BOM data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:1428
+msgid "Copy Part Parameter Data"
+msgstr ""
+
+#: common/models.py:1429
+msgid "Copy parameter data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:1434
+msgid "Copy Part Test Data"
+msgstr ""
+
+#: common/models.py:1435
+msgid "Copy test data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:1440
+msgid "Copy Category Parameter Templates"
+msgstr ""
+
+#: common/models.py:1441
+msgid "Copy category parameter templates when creating a part"
+msgstr ""
+
+#: common/models.py:1446 part/admin.py:108 part/models.py:3841
+#: report/models.py:293 report/models.py:360 report/serializers.py:90
+#: report/serializers.py:131 stock/serializers.py:228
+#: templates/js/translated/table_filters.js:139
+#: templates/js/translated/table_filters.js:767
+msgid "Template"
+msgstr ""
+
+#: common/models.py:1447
+msgid "Parts are templates by default"
+msgstr ""
+
+#: common/models.py:1452 part/admin.py:91 part/admin.py:433 part/models.py:1060
+#: templates/js/translated/bom.js:1639
+#: templates/js/translated/table_filters.js:330
+#: templates/js/translated/table_filters.js:721
+msgid "Assembly"
+msgstr ""
+
+#: common/models.py:1453
+msgid "Parts can be assembled from other components by default"
+msgstr ""
+
+#: common/models.py:1458 part/admin.py:95 part/models.py:1066
+#: templates/js/translated/table_filters.js:729
+msgid "Component"
+msgstr ""
+
+#: common/models.py:1459
+msgid "Parts can be used as sub-components by default"
+msgstr ""
+
+#: common/models.py:1464 part/admin.py:100 part/models.py:1078
+msgid "Purchaseable"
+msgstr ""
+
+#: common/models.py:1465
+msgid "Parts are purchaseable by default"
+msgstr ""
+
+#: common/models.py:1470 part/admin.py:104 part/models.py:1084
+#: templates/js/translated/table_filters.js:755
+msgid "Salable"
+msgstr ""
+
+#: common/models.py:1471
+msgid "Parts are salable by default"
+msgstr ""
+
+#: common/models.py:1476 part/admin.py:113 part/models.py:1072
+#: templates/js/translated/table_filters.js:147
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:771
+msgid "Trackable"
+msgstr ""
+
+#: common/models.py:1477
+msgid "Parts are trackable by default"
+msgstr ""
+
+#: common/models.py:1482 part/admin.py:117 part/models.py:1094
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:143
+#: templates/js/translated/table_filters.js:775
+msgid "Virtual"
+msgstr ""
+
+#: common/models.py:1483
+msgid "Parts are virtual by default"
+msgstr ""
+
+#: common/models.py:1488
+msgid "Show Import in Views"
+msgstr ""
+
+#: common/models.py:1489
+msgid "Display the import wizard in some part views"
+msgstr ""
+
+#: common/models.py:1494
+msgid "Show related parts"
+msgstr ""
+
+#: common/models.py:1495
+msgid "Display related parts for a part"
+msgstr ""
+
+#: common/models.py:1500
+msgid "Initial Stock Data"
+msgstr ""
+
+#: common/models.py:1501
+msgid "Allow creation of initial stock when adding a new part"
+msgstr ""
+
+#: common/models.py:1506 templates/js/translated/part.js:107
+msgid "Initial Supplier Data"
+msgstr ""
+
+#: common/models.py:1508
+msgid "Allow creation of initial supplier data when adding a new part"
+msgstr ""
+
+#: common/models.py:1514
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:1515
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:1521
+msgid "Part Category Default Icon"
+msgstr ""
+
+#: common/models.py:1522
+msgid "Part category default icon (empty means no icon)"
+msgstr ""
+
+#: common/models.py:1526
+msgid "Enforce Parameter Units"
+msgstr ""
+
+#: common/models.py:1528
+msgid "If units are provided, parameter values must match the specified units"
+msgstr ""
+
+#: common/models.py:1534
+msgid "Minimum Pricing Decimal Places"
+msgstr ""
+
+#: common/models.py:1536
+msgid "Minimum number of decimal places to display when rendering pricing data"
+msgstr ""
+
+#: common/models.py:1547
+msgid "Maximum Pricing Decimal Places"
+msgstr ""
+
+#: common/models.py:1549
+msgid "Maximum number of decimal places to display when rendering pricing data"
+msgstr ""
+
+#: common/models.py:1560
+msgid "Use Supplier Pricing"
+msgstr ""
+
+#: common/models.py:1562
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1568
+msgid "Purchase History Override"
+msgstr ""
+
+#: common/models.py:1570
+msgid "Historical purchase order pricing overrides supplier price breaks"
+msgstr ""
+
+#: common/models.py:1576
+msgid "Use Stock Item Pricing"
+msgstr ""
+
+#: common/models.py:1578
+msgid "Use pricing from manually entered stock data for pricing calculations"
+msgstr ""
+
+#: common/models.py:1584
+msgid "Stock Item Pricing Age"
+msgstr ""
+
+#: common/models.py:1586
+msgid "Exclude stock items older than this number of days from pricing calculations"
+msgstr ""
+
+#: common/models.py:1593
+msgid "Use Variant Pricing"
+msgstr ""
+
+#: common/models.py:1594
+msgid "Include variant pricing in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1599
+msgid "Active Variants Only"
+msgstr ""
+
+#: common/models.py:1601
+msgid "Only use active variant parts for calculating variant pricing"
+msgstr ""
+
+#: common/models.py:1607
+msgid "Pricing Rebuild Interval"
+msgstr ""
+
+#: common/models.py:1609
+msgid "Number of days before part pricing is automatically updated"
+msgstr ""
+
+#: common/models.py:1616
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1617
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1622
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1624
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1630
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1631
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1636
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1638
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1644
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1645
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1650 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1651
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1656
+msgid "Log Report Errors"
+msgstr ""
+
+#: common/models.py:1657
+msgid "Log errors which occur when generating reports"
+msgstr ""
+
+#: common/models.py:1662 plugin/builtin/labels/label_sheet.py:28
+#: report/models.py:301
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1663
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1668
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1669
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1674
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1676
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1682
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1683
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1688
+msgid "Autofill Serial Numbers"
+msgstr ""
+
+#: common/models.py:1689
+msgid "Autofill serial numbers in forms"
+msgstr ""
+
+#: common/models.py:1694
+msgid "Delete Depleted Stock"
+msgstr ""
+
+#: common/models.py:1696
+msgid "Determines default behavior when a stock item is depleted"
+msgstr ""
+
+#: common/models.py:1702
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1704
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1709
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1710
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1715
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1716
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1721
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1723
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1730
+msgid "Build Expired Stock"
+msgstr ""
+
+#: common/models.py:1731
+msgid "Allow building with expired stock"
+msgstr ""
+
+#: common/models.py:1736
+msgid "Stock Ownership Control"
+msgstr ""
+
+#: common/models.py:1737
+msgid "Enable ownership control over stock locations and items"
+msgstr ""
+
+#: common/models.py:1742
+msgid "Stock Location Default Icon"
+msgstr ""
+
+#: common/models.py:1743
+msgid "Stock location default icon (empty means no icon)"
+msgstr ""
+
+#: common/models.py:1747
+msgid "Show Installed Stock Items"
+msgstr ""
+
+#: common/models.py:1748
+msgid "Display installed stock items in stock tables"
+msgstr ""
+
+#: common/models.py:1753
+msgid "Check BOM when installing items"
+msgstr ""
+
+#: common/models.py:1755
+msgid "Installed stock items must exist in the BOM for the parent part"
+msgstr ""
+
+#: common/models.py:1761
+msgid "Allow Out of Stock Transfer"
+msgstr ""
+
+#: common/models.py:1763
+msgid "Allow stock items which are not in stock to be transferred between stock locations"
+msgstr ""
+
+#: common/models.py:1769
+msgid "Build Order Reference Pattern"
+msgstr ""
+
+#: common/models.py:1771
+msgid "Required pattern for generating Build Order reference field"
+msgstr ""
+
+#: common/models.py:1777 common/models.py:1805 common/models.py:1827
+#: common/models.py:1863
+msgid "Require Responsible Owner"
+msgstr ""
+
+#: common/models.py:1778 common/models.py:1806 common/models.py:1828
+#: common/models.py:1864
+msgid "A responsible owner must be assigned to each order"
+msgstr ""
+
+#: common/models.py:1783
+msgid "Block Until Tests Pass"
+msgstr ""
+
+#: common/models.py:1785
+msgid "Prevent build outputs from being completed until all required tests pass"
+msgstr ""
+
+#: common/models.py:1791
+msgid "Enable Return Orders"
+msgstr ""
+
+#: common/models.py:1792
+msgid "Enable return order functionality in the user interface"
+msgstr ""
+
+#: common/models.py:1797
+msgid "Return Order Reference Pattern"
+msgstr ""
+
+#: common/models.py:1799
+msgid "Required pattern for generating Return Order reference field"
+msgstr ""
+
+#: common/models.py:1811
+msgid "Edit Completed Return Orders"
+msgstr ""
+
+#: common/models.py:1813
+msgid "Allow editing of return orders after they have been completed"
+msgstr ""
+
+#: common/models.py:1819
+msgid "Sales Order Reference Pattern"
+msgstr ""
+
+#: common/models.py:1821
+msgid "Required pattern for generating Sales Order reference field"
+msgstr ""
+
+#: common/models.py:1833
+msgid "Sales Order Default Shipment"
+msgstr ""
+
+#: common/models.py:1834
+msgid "Enable creation of default shipment with sales orders"
+msgstr ""
+
+#: common/models.py:1839
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1841
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1847
+msgid "Mark Shipped Orders as Complete"
+msgstr ""
+
+#: common/models.py:1849
+msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status"
+msgstr ""
+
+#: common/models.py:1855
+msgid "Purchase Order Reference Pattern"
+msgstr ""
+
+#: common/models.py:1857
+msgid "Required pattern for generating Purchase Order reference field"
+msgstr ""
+
+#: common/models.py:1869
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1871
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1877
+msgid "Auto Complete Purchase Orders"
+msgstr ""
+
+#: common/models.py:1879
+msgid "Automatically mark purchase orders as complete when all line items are received"
+msgstr ""
+
+#: common/models.py:1886
+msgid "Enable password forgot"
+msgstr ""
+
+#: common/models.py:1887
+msgid "Enable password forgot function on the login pages"
+msgstr ""
+
+#: common/models.py:1892
+msgid "Enable registration"
+msgstr ""
+
+#: common/models.py:1893
+msgid "Enable self-registration for users on the login pages"
+msgstr ""
+
+#: common/models.py:1898
+msgid "Enable SSO"
+msgstr ""
+
+#: common/models.py:1899
+msgid "Enable SSO on the login pages"
+msgstr ""
+
+#: common/models.py:1904
+msgid "Enable SSO registration"
+msgstr ""
+
+#: common/models.py:1906
+msgid "Enable self-registration via SSO for users on the login pages"
+msgstr ""
+
+#: common/models.py:1912
+msgid "Email required"
+msgstr ""
+
+#: common/models.py:1913
+msgid "Require user to supply mail on signup"
+msgstr ""
+
+#: common/models.py:1918
+msgid "Auto-fill SSO users"
+msgstr ""
+
+#: common/models.py:1920
+msgid "Automatically fill out user-details from SSO account-data"
+msgstr ""
+
+#: common/models.py:1926
+msgid "Mail twice"
+msgstr ""
+
+#: common/models.py:1927
+msgid "On signup ask users twice for their mail"
+msgstr ""
+
+#: common/models.py:1932
+msgid "Password twice"
+msgstr ""
+
+#: common/models.py:1933
+msgid "On signup ask users twice for their password"
+msgstr ""
+
+#: common/models.py:1938
+msgid "Allowed domains"
+msgstr ""
+
+#: common/models.py:1940
+msgid "Restrict signup to certain domains (comma-separated, starting with @)"
+msgstr ""
+
+#: common/models.py:1946
+msgid "Group on signup"
+msgstr ""
+
+#: common/models.py:1947
+msgid "Group to which new users are assigned on registration"
+msgstr ""
+
+#: common/models.py:1952
+msgid "Enforce MFA"
+msgstr ""
+
+#: common/models.py:1953
+msgid "Users must use multifactor security."
+msgstr ""
+
+#: common/models.py:1958
+msgid "Check plugins on startup"
+msgstr ""
+
+#: common/models.py:1960
+msgid "Check that all plugins are installed on startup - enable in container environments"
+msgstr ""
+
+#: common/models.py:1968
+msgid "Check for plugin updates"
+msgstr ""
+
+#: common/models.py:1969
+msgid "Enable periodic checks for updates to installed plugins"
+msgstr ""
+
+#: common/models.py:1975
+msgid "Enable URL integration"
+msgstr ""
+
+#: common/models.py:1976
+msgid "Enable plugins to add URL routes"
+msgstr ""
+
+#: common/models.py:1982
+msgid "Enable navigation integration"
+msgstr ""
+
+#: common/models.py:1983
+msgid "Enable plugins to integrate into navigation"
+msgstr ""
+
+#: common/models.py:1989
+msgid "Enable app integration"
+msgstr ""
+
+#: common/models.py:1990
+msgid "Enable plugins to add apps"
+msgstr ""
+
+#: common/models.py:1996
+msgid "Enable schedule integration"
+msgstr ""
+
+#: common/models.py:1997
+msgid "Enable plugins to run scheduled tasks"
+msgstr ""
+
+#: common/models.py:2003
+msgid "Enable event integration"
+msgstr ""
+
+#: common/models.py:2004
+msgid "Enable plugins to respond to internal events"
+msgstr ""
+
+#: common/models.py:2010
+msgid "Enable project codes"
+msgstr ""
+
+#: common/models.py:2011
+msgid "Enable project codes for tracking projects"
+msgstr ""
+
+#: common/models.py:2016
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:2018
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:2024
+msgid "Exclude External Locations"
+msgstr ""
+
+#: common/models.py:2026
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr ""
+
+#: common/models.py:2032
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:2034
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:2040
+msgid "Report Deletion Interval"
+msgstr ""
+
+#: common/models.py:2042
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:2049
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:2050
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:2055
+msgid "Enable Test Station Data"
+msgstr ""
+
+#: common/models.py:2056
+msgid "Enable test station data collection for test results"
+msgstr ""
+
+#: common/models.py:2068 common/models.py:2478
+msgid "Settings key (must be unique - case insensitive"
+msgstr ""
+
+#: common/models.py:2111
+msgid "Hide inactive parts"
+msgstr ""
+
+#: common/models.py:2113
+msgid "Hide inactive parts in results displayed on the homepage"
+msgstr ""
+
+#: common/models.py:2119
+msgid "Show subscribed parts"
+msgstr ""
+
+#: common/models.py:2120
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:2125
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:2126
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:2131
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:2132
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:2137
+msgid "Show invalid BOMs"
+msgstr ""
+
+#: common/models.py:2138
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:2143
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:2144
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:2149
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:2150
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:2155
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:2156
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:2161
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:2162
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:2167
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:2168
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:2173
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:2174
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:2179
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:2180
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:2185
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:2186
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:2191
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:2192
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:2197
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:2198
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:2203
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:2204
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:2209
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:2210
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:2215
+msgid "Show pending SO shipments"
+msgstr ""
+
+#: common/models.py:2216
+msgid "Show pending SO shipments on the homepage"
+msgstr ""
+
+#: common/models.py:2221
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:2222
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:2227
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:2229
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:2235
+msgid "Default label printer"
+msgstr ""
+
+#: common/models.py:2237
+msgid "Configure which label printer should be selected by default"
+msgstr ""
+
+#: common/models.py:2243
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:2245
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:2251
+msgid "Search Parts"
+msgstr ""
+
+#: common/models.py:2252
+msgid "Display parts in search preview window"
+msgstr ""
+
+#: common/models.py:2257
+msgid "Search Supplier Parts"
+msgstr ""
+
+#: common/models.py:2258
+msgid "Display supplier parts in search preview window"
+msgstr ""
+
+#: common/models.py:2263
+msgid "Search Manufacturer Parts"
+msgstr ""
+
+#: common/models.py:2264
+msgid "Display manufacturer parts in search preview window"
+msgstr ""
+
+#: common/models.py:2269
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:2270
+msgid "Excluded inactive parts from search preview window"
+msgstr ""
+
+#: common/models.py:2275
+msgid "Search Categories"
+msgstr ""
+
+#: common/models.py:2276
+msgid "Display part categories in search preview window"
+msgstr ""
+
+#: common/models.py:2281
+msgid "Search Stock"
+msgstr ""
+
+#: common/models.py:2282
+msgid "Display stock items in search preview window"
+msgstr ""
+
+#: common/models.py:2287
+msgid "Hide Unavailable Stock Items"
+msgstr ""
+
+#: common/models.py:2289
+msgid "Exclude stock items which are not available from the search preview window"
+msgstr ""
+
+#: common/models.py:2295
+msgid "Search Locations"
+msgstr ""
+
+#: common/models.py:2296
+msgid "Display stock locations in search preview window"
+msgstr ""
+
+#: common/models.py:2301
+msgid "Search Companies"
+msgstr ""
+
+#: common/models.py:2302
+msgid "Display companies in search preview window"
+msgstr ""
+
+#: common/models.py:2307
+msgid "Search Build Orders"
+msgstr ""
+
+#: common/models.py:2308
+msgid "Display build orders in search preview window"
+msgstr ""
+
+#: common/models.py:2313
+msgid "Search Purchase Orders"
+msgstr ""
+
+#: common/models.py:2314
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:2319
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:2321
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:2327
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:2328
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:2335
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:2341
+msgid "Search Return Orders"
+msgstr ""
+
+#: common/models.py:2342
+msgid "Display return orders in search preview window"
+msgstr ""
+
+#: common/models.py:2347
+msgid "Exclude Inactive Return Orders"
+msgstr ""
+
+#: common/models.py:2349
+msgid "Exclude inactive return orders from search preview window"
+msgstr ""
+
+#: common/models.py:2355
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:2357
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:2363
+msgid "Regex Search"
+msgstr ""
+
+#: common/models.py:2364
+msgid "Enable regular expressions in search queries"
+msgstr ""
+
+#: common/models.py:2369
+msgid "Whole Word Search"
+msgstr ""
+
+#: common/models.py:2370
+msgid "Search queries return results for whole word matches"
+msgstr ""
+
+#: common/models.py:2375
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:2376
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:2381
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:2382
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:2387
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:2388
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:2393
+msgid "Date Format"
+msgstr ""
+
+#: common/models.py:2394
+msgid "Preferred format for displaying dates"
+msgstr ""
+
+#: common/models.py:2407 part/templates/part/detail.html:41
+msgid "Part Scheduling"
+msgstr ""
+
+#: common/models.py:2408
+msgid "Display part scheduling information"
+msgstr ""
+
+#: common/models.py:2413 part/templates/part/detail.html:62
+msgid "Part Stocktake"
+msgstr ""
+
+#: common/models.py:2415
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
+msgstr ""
+
+#: common/models.py:2421
+msgid "Table String Length"
+msgstr ""
+
+#: common/models.py:2423
+msgid "Maximum length limit for strings displayed in table views"
+msgstr ""
+
+#: common/models.py:2429
+msgid "Default part label template"
+msgstr ""
+
+#: common/models.py:2430
+msgid "The part label template to be automatically selected"
+msgstr ""
+
+#: common/models.py:2435
+msgid "Default stock item template"
+msgstr ""
+
+#: common/models.py:2437
+msgid "The stock item label template to be automatically selected"
+msgstr ""
+
+#: common/models.py:2443
+msgid "Default stock location label template"
+msgstr ""
+
+#: common/models.py:2445
+msgid "The stock location label template to be automatically selected"
+msgstr ""
+
+#: common/models.py:2451
+msgid "Default build line label template"
+msgstr ""
+
+#: common/models.py:2453
+msgid "The build line label template to be automatically selected"
+msgstr ""
+
+#: common/models.py:2459
+msgid "Receive error reports"
+msgstr ""
+
+#: common/models.py:2460
+msgid "Receive notifications for system errors"
+msgstr ""
+
+#: common/models.py:2465
+msgid "Last used printing machines"
+msgstr ""
+
+#: common/models.py:2466
+msgid "Save the last used printing machines for a user"
+msgstr ""
+
+#: common/models.py:2509
+msgid "Price break quantity"
+msgstr ""
+
+#: common/models.py:2516 company/serializers.py:497 order/admin.py:42
+#: order/models.py:1382 order/models.py:2301
+#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886
+#: templates/js/translated/pricing.js:621
+#: templates/js/translated/return_order.js:740
+msgid "Price"
+msgstr ""
+
+#: common/models.py:2517
+msgid "Unit price at specified quantity"
+msgstr ""
+
+#: common/models.py:2612 common/models.py:2797
+msgid "Endpoint"
+msgstr ""
+
+#: common/models.py:2613
+msgid "Endpoint at which this webhook is received"
+msgstr ""
+
+#: common/models.py:2623
+msgid "Name for this webhook"
+msgstr ""
+
+#: common/models.py:2627 company/models.py:160 company/models.py:814
+#: machine/models.py:39 part/admin.py:88 part/models.py:1089
+#: plugin/models.py:66 templates/js/translated/company.js:523
+#: templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:716
+#: templates/js/translated/table_filters.js:796 users/models.py:182
+msgid "Active"
+msgstr ""
+
+#: common/models.py:2627
+msgid "Is this webhook active"
+msgstr ""
+
+#: common/models.py:2643 users/models.py:159
+msgid "Token"
+msgstr ""
+
+#: common/models.py:2644
+msgid "Token for access"
+msgstr ""
+
+#: common/models.py:2652
+msgid "Secret"
+msgstr ""
+
+#: common/models.py:2653
+msgid "Shared secret for HMAC"
+msgstr ""
+
+#: common/models.py:2761
+msgid "Message ID"
+msgstr ""
+
+#: common/models.py:2762
+msgid "Unique identifier for this message"
+msgstr ""
+
+#: common/models.py:2770
+msgid "Host"
+msgstr ""
+
+#: common/models.py:2771
+msgid "Host from which this message was received"
+msgstr ""
+
+#: common/models.py:2779
+msgid "Header"
+msgstr ""
+
+#: common/models.py:2780
+msgid "Header of this message"
+msgstr ""
+
+#: common/models.py:2787
+msgid "Body"
+msgstr ""
+
+#: common/models.py:2788
+msgid "Body of this message"
+msgstr ""
+
+#: common/models.py:2798
+msgid "Endpoint on which this message was received"
+msgstr ""
+
+#: common/models.py:2803
+msgid "Worked on"
+msgstr ""
+
+#: common/models.py:2804
+msgid "Was the work on this message finished?"
+msgstr ""
+
+#: common/models.py:2930
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2932 templates/js/translated/company.js:965
+#: templates/js/translated/news.js:44
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2936 templates/js/translated/news.js:60
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2938 templates/InvenTree/settings/plugin_settings.html:32
+#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2940 templates/js/translated/news.js:52
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2943
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2943
+msgid "Was this news item read?"
+msgstr ""
+
+#: common/models.py:2960 company/models.py:156 part/models.py:973
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report.html:35
+#: stock/templates/stock/item_base.html:133 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
+msgid "Image"
+msgstr ""
+
+#: common/models.py:2960
+msgid "Image file"
+msgstr ""
+
+#: common/models.py:2972
+msgid "Target model type for this image"
+msgstr ""
+
+#: common/models.py:2976
+msgid "Target model ID for this image"
+msgstr ""
+
+#: common/models.py:3017
+msgid "Unit name must be a valid identifier"
+msgstr ""
+
+#: common/models.py:3036
+msgid "Unit name"
+msgstr ""
+
+#: common/models.py:3043 templates/InvenTree/settings/settings_staff_js.html:75
+msgid "Symbol"
+msgstr ""
+
+#: common/models.py:3044
+msgid "Optional unit symbol"
+msgstr ""
+
+#: common/models.py:3051 templates/InvenTree/settings/settings_staff_js.html:71
+msgid "Definition"
+msgstr ""
+
+#: common/models.py:3052
+msgid "Unit definition"
+msgstr ""
+
+#: common/notifications.py:314
+#, python-brace-format
+msgid "New {verbose_name}"
+msgstr ""
+
+#: common/notifications.py:316
+msgid "A new order has been created and assigned to you"
+msgstr ""
+
+#: common/notifications.py:322
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr ""
+
+#: common/notifications.py:324
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:330 common/notifications.py:337 order/api.py:472
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:332
+msgid "Items have been received against a purchase order"
+msgstr ""
+
+#: common/notifications.py:339
+msgid "Items have been received against a return order"
+msgstr ""
+
+#: common/notifications.py:457
+msgid "Error raised by plugin"
+msgstr ""
+
+#: common/serializers.py:366
+msgid "Is Running"
+msgstr ""
+
+#: common/serializers.py:372
+msgid "Pending Tasks"
+msgstr ""
+
+#: common/serializers.py:378
+msgid "Scheduled Tasks"
+msgstr ""
+
+#: common/serializers.py:384
+msgid "Failed Tasks"
+msgstr ""
+
+#: common/serializers.py:399
+msgid "Task ID"
+msgstr ""
+
+#: common/serializers.py:399
+msgid "Unique task ID"
+msgstr ""
+
+#: common/serializers.py:401
+msgid "Lock"
+msgstr ""
+
+#: common/serializers.py:401
+msgid "Lock time"
+msgstr ""
+
+#: common/serializers.py:403
+msgid "Task name"
+msgstr ""
+
+#: common/serializers.py:405
+msgid "Function"
+msgstr ""
+
+#: common/serializers.py:405
+msgid "Function name"
+msgstr ""
+
+#: common/serializers.py:407
+msgid "Arguments"
+msgstr ""
+
+#: common/serializers.py:407
+msgid "Task arguments"
+msgstr ""
+
+#: common/serializers.py:410
+msgid "Keyword Arguments"
+msgstr ""
+
+#: common/serializers.py:410
+msgid "Task keyword arguments"
+msgstr ""
+
+#: common/validators.py:43
+msgid "Minimum places cannot be greater than maximum places"
+msgstr ""
+
+#: common/validators.py:57
+msgid "Maximum places cannot be less than minimum places"
+msgstr ""
+
+#: common/validators.py:68
+msgid "An empty domain is not allowed."
+msgstr ""
+
+#: common/validators.py:70
+#, python-brace-format
+msgid "Invalid domain name: {domain}"
+msgstr ""
+
+#: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
+#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109
+#: templates/patterns/wizard/upload.html:37
+msgid "Upload File"
+msgstr ""
+
+#: common/views.py:84 order/templates/order/order_wizard/match_fields.html:52
+#: order/views.py:119
+#: part/templates/part/import_wizard/ajax_match_fields.html:45
+#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110
+#: templates/patterns/wizard/match_fields.html:51
+msgid "Match Fields"
+msgstr ""
+
+#: common/views.py:84
+msgid "Match Items"
+msgstr ""
+
+#: common/views.py:401
+msgid "Fields matching failed"
+msgstr ""
+
+#: common/views.py:464
+msgid "Parts imported"
+msgstr ""
+
+#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27
+#: order/templates/order/order_wizard/match_parts.html:19
+#: order/templates/order/order_wizard/po_upload.html:49
+#: part/templates/part/import_wizard/match_fields.html:27
+#: part/templates/part/import_wizard/match_references.html:19
+#: part/templates/part/import_wizard/part_upload.html:56
+#: templates/patterns/wizard/match_fields.html:26
+#: templates/patterns/wizard/upload.html:35
+msgid "Previous Step"
+msgstr ""
+
+#: company/api.py:164
+msgid "Part is Active"
+msgstr ""
+
+#: company/api.py:168
+msgid "Manufacturer is Active"
+msgstr ""
+
+#: company/api.py:317
+msgid "Supplier Part is Active"
+msgstr ""
+
+#: company/api.py:321
+msgid "Internal Part is Active"
+msgstr ""
+
+#: company/api.py:325
+msgid "Supplier is Active"
+msgstr ""
+
+#: company/models.py:114
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:115
+msgid "Description of the company"
+msgstr ""
+
+#: company/models.py:120 company/templates/company/company_base.html:106
+#: templates/InvenTree/settings/plugin_settings.html:54
+#: templates/js/translated/company.js:532
+msgid "Website"
+msgstr ""
+
+#: company/models.py:120
+msgid "Company website URL"
+msgstr ""
+
+#: company/models.py:125
+msgid "Phone number"
+msgstr ""
+
+#: company/models.py:127
+msgid "Contact phone number"
+msgstr ""
+
+#: company/models.py:134
+msgid "Contact email address"
+msgstr ""
+
+#: company/models.py:139 company/templates/company/company_base.html:145
+#: order/models.py:343 order/templates/order/order_base.html:203
+#: order/templates/order/return_order_base.html:174
+#: order/templates/order/sales_order_base.html:218
+msgid "Contact"
+msgstr ""
+
+#: company/models.py:141
+msgid "Point of contact"
+msgstr ""
+
+#: company/models.py:147
+msgid "Link to external company information"
+msgstr ""
+
+#: company/models.py:160
+msgid "Is this company active?"
+msgstr ""
+
+#: company/models.py:165
+msgid "is customer"
+msgstr ""
+
+#: company/models.py:166
+msgid "Do you sell items to this company?"
+msgstr ""
+
+#: company/models.py:171
+msgid "is supplier"
+msgstr ""
+
+#: company/models.py:172
+msgid "Do you purchase items from this company?"
+msgstr ""
+
+#: company/models.py:177
+msgid "is manufacturer"
+msgstr ""
+
+#: company/models.py:178
+msgid "Does this company manufacture parts?"
+msgstr ""
+
+#: company/models.py:186
+msgid "Default currency used for this company"
+msgstr ""
+
+#: company/models.py:273 company/models.py:382
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12 stock/api.py:812
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496
+msgid "Company"
+msgstr ""
+
+#: company/models.py:383
+msgid "Select company"
+msgstr ""
+
+#: company/models.py:388
+msgid "Address title"
+msgstr ""
+
+#: company/models.py:389
+msgid "Title describing the address entry"
+msgstr ""
+
+#: company/models.py:395
+msgid "Primary address"
+msgstr ""
+
+#: company/models.py:396
+msgid "Set as primary address"
+msgstr ""
+
+#: company/models.py:401 templates/js/translated/company.js:914
+#: templates/js/translated/company.js:971
+msgid "Line 1"
+msgstr ""
+
+#: company/models.py:402
+msgid "Address line 1"
+msgstr ""
+
+#: company/models.py:408 templates/js/translated/company.js:915
+#: templates/js/translated/company.js:977
+msgid "Line 2"
+msgstr ""
+
+#: company/models.py:409
+msgid "Address line 2"
+msgstr ""
+
+#: company/models.py:415 company/models.py:416
+#: templates/js/translated/company.js:983
+msgid "Postal code"
+msgstr ""
+
+#: company/models.py:422
+msgid "City/Region"
+msgstr ""
+
+#: company/models.py:423
+msgid "Postal code city/region"
+msgstr ""
+
+#: company/models.py:429
+msgid "State/Province"
+msgstr ""
+
+#: company/models.py:430
+msgid "State or province"
+msgstr ""
+
+#: company/models.py:436 templates/js/translated/company.js:1001
+msgid "Country"
+msgstr ""
+
+#: company/models.py:437
+msgid "Address country"
+msgstr ""
+
+#: company/models.py:443
+msgid "Courier shipping notes"
+msgstr ""
+
+#: company/models.py:444
+msgid "Notes for shipping courier"
+msgstr ""
+
+#: company/models.py:450
+msgid "Internal shipping notes"
+msgstr ""
+
+#: company/models.py:451
+msgid "Shipping notes for internal use"
+msgstr ""
+
+#: company/models.py:458
+msgid "Link to address information (external)"
+msgstr ""
+
+#: company/models.py:489 company/models.py:792 stock/models.py:768
+#: stock/serializers.py:398 stock/templates/stock/item_base.html:142
+#: templates/js/translated/bom.js:622
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:491 company/models.py:794
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:500 company/templates/company/company_base.html:82
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:145 part/serializers.py:532
+#: stock/templates/stock/item_base.html:207
+#: templates/js/translated/company.js:507
+#: templates/js/translated/company.js:1118
+#: templates/js/translated/company.js:1296
+#: templates/js/translated/company.js:1611
+#: templates/js/translated/table_filters.js:800
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:501
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:507 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:153 part/serializers.py:542
+#: templates/js/translated/company.js:351
+#: templates/js/translated/company.js:1117
+#: templates/js/translated/company.js:1312
+#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1801
+#: templates/js/translated/purchase_order.js:1851
+#: templates/js/translated/purchase_order.js:2053
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:508
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:515
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:524
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:581 company/models.py:608 company/models.py:824
+#: company/templates/company/manufacturer_part.html:7
+#: company/templates/company/manufacturer_part.html:24
+#: stock/templates/stock/item_base.html:217
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:615
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:621 report/templates/report/inventree_test_report.html:104
+#: stock/models.py:2434 templates/js/translated/company.js:1166
+#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493
+#: templates/js/translated/stock.js:1522
+msgid "Value"
+msgstr ""
+
+#: company/models.py:622
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:629 company/templates/company/supplier_part.html:168
+#: part/admin.py:57 part/models.py:1053 part/models.py:3692
+#: part/templates/part/part_base.html:284
+#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512
+#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370
+msgid "Units"
+msgstr ""
+
+#: company/models.py:630
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:732
+msgid "Pack units must be compatible with the base part units"
+msgstr ""
+
+#: company/models.py:739
+msgid "Pack units must be greater than zero"
+msgstr ""
+
+#: company/models.py:753
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:802 company/templates/company/company_base.html:87
+#: company/templates/company/supplier_part.html:129 order/models.py:486
+#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310
+#: part/serializers.py:516 plugin/builtin/suppliers/digikey.py:25
+#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24
+#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224
+#: templates/email/overdue_purchase_order.html:16
+#: templates/js/translated/company.js:350
+#: templates/js/translated/company.js:511
+#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769
+#: templates/js/translated/pricing.js:498
+#: templates/js/translated/purchase_order.js:1689
+#: templates/js/translated/table_filters.js:804
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:803
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:809 part/serializers.py:527
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:815
+msgid "Is this supplier part active?"
+msgstr ""
+
+#: company/models.py:825
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:832
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:841
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:848 company/templates/company/supplier_part.html:187
+#: part/admin.py:420 part/models.py:4139 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_purchase_order_report.html:32
+#: report/templates/report/inventree_return_order_report.html:27
+#: report/templates/report/inventree_sales_order_report.html:32
+#: report/templates/report/inventree_stock_location_report.html:105
+#: stock/serializers.py:711
+msgid "Note"
+msgstr ""
+
+#: company/models.py:857 part/models.py:2011
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:858 part/models.py:2012
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:865 company/templates/company/supplier_part.html:160
+#: stock/admin.py:229 stock/models.py:799 stock/serializers.py:1482
+#: stock/templates/stock/item_base.html:240
+#: templates/js/translated/company.js:1646
+#: templates/js/translated/stock.js:2424
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:866
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:871 templates/js/translated/company.js:1651
+#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878
+#: templates/js/translated/purchase_order.js:311
+#: templates/js/translated/purchase_order.js:841
+#: templates/js/translated/purchase_order.js:1103
+#: templates/js/translated/purchase_order.js:2084
+#: templates/js/translated/purchase_order.js:2101
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:873
+msgid "Total quantity supplied in a single pack. Leave empty for single items."
+msgstr ""
+
+#: company/models.py:892 part/models.py:2018
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:893
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:905
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:911
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:912
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:164
+msgid "Default currency used for this supplier"
+msgstr ""
+
+#: company/serializers.py:382 part/admin.py:126
+#: part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1689
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:16
+#: part/templates/part/part_base.html:146
+#: templates/js/translated/company.js:1287
+#: templates/js/translated/company.js:1575
+#: templates/js/translated/model_renderers.js:312
+#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219
+msgid "Inactive"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
+#: templates/js/translated/purchase_order.js:242
+msgid "Create Purchase Order"
+msgstr ""
+
+#: company/templates/company/company_base.html:33
+msgid "Company actions"
+msgstr ""
+
+#: company/templates/company/company_base.html:38
+msgid "Edit company information"
+msgstr ""
+
+#: company/templates/company/company_base.html:39
+#: templates/js/translated/company.js:445
+msgid "Edit Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:43
+msgid "Delete company"
+msgstr ""
+
+#: company/templates/company/company_base.html:44
+#: company/templates/company/company_base.html:168
+msgid "Delete Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:53
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:83
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_report.html:98
+#: report/templates/report/inventree_purchase_order_report.html:40
+#: report/templates/report/inventree_sales_order_report.html:40
+#: report/templates/report/inventree_test_report.html:84
+#: report/templates/report/inventree_test_report.html:163
+msgid "Part image"
+msgstr ""
+
+#: company/templates/company/company_base.html:61
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:64
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
+msgstr ""
+
+#: company/templates/company/company_base.html:66
+#: part/templates/part/part_thumb.html:16
+msgid "Delete image"
+msgstr ""
+
+#: company/templates/company/company_base.html:92 order/models.py:940
+#: order/models.py:2068 order/templates/order/return_order_base.html:131
+#: order/templates/order/sales_order_base.html:148 stock/models.py:821
+#: stock/models.py:822 stock/serializers.py:1232
+#: stock/templates/stock/item_base.html:405
+#: templates/email/overdue_sales_order.html:16
+#: templates/js/translated/company.js:503
+#: templates/js/translated/return_order.js:295
+#: templates/js/translated/sales_order.js:820
+#: templates/js/translated/stock.js:2959
+#: templates/js/translated/table_filters.js:808
+msgid "Customer"
+msgstr ""
+
+#: company/templates/company/company_base.html:117
+msgid "Uses default currency"
+msgstr ""
+
+#: company/templates/company/company_base.html:124 order/models.py:353
+#: order/templates/order/order_base.html:210
+#: order/templates/order/return_order_base.html:181
+#: order/templates/order/sales_order_base.html:225
+msgid "Address"
+msgstr ""
+
+#: company/templates/company/company_base.html:131
+msgid "Phone"
+msgstr ""
+
+#: company/templates/company/company_base.html:211
+#: part/templates/part/part_base.html:527
+msgid "Remove Image"
+msgstr ""
+
+#: company/templates/company/company_base.html:212
+msgid "Remove associated image from this company"
+msgstr ""
+
+#: company/templates/company/company_base.html:214
+#: part/templates/part/part_base.html:530
+#: templates/InvenTree/settings/user.html:88
+#: templates/InvenTree/settings/user_sso.html:43
+msgid "Remove"
+msgstr ""
+
+#: company/templates/company/company_base.html:243
+#: part/templates/part/part_base.html:559
+msgid "Upload Image"
+msgstr ""
+
+#: company/templates/company/company_base.html:258
+#: part/templates/part/part_base.html:613
+msgid "Download Image"
+msgstr ""
+
+#: company/templates/company/detail.html:15
+#: company/templates/company/manufacturer_part_sidebar.html:7
+#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147
+msgid "Supplier Parts"
+msgstr ""
+
+#: company/templates/company/detail.html:19
+msgid "Create new supplier part"
+msgstr ""
+
+#: company/templates/company/detail.html:20
+#: company/templates/company/manufacturer_part.html:123
+#: part/templates/part/detail.html:356
+msgid "New Supplier Part"
+msgstr ""
+
+#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105
+#: templates/js/translated/search.js:151
+msgid "Manufacturer Parts"
+msgstr ""
+
+#: company/templates/company/detail.html:45
+msgid "Create new manufacturer part"
+msgstr ""
+
+#: company/templates/company/detail.html:46 part/templates/part/detail.html:376
+msgid "New Manufacturer Part"
+msgstr ""
+
+#: company/templates/company/detail.html:65
+msgid "Supplier Stock"
+msgstr ""
+
+#: company/templates/company/detail.html:75
+#: company/templates/company/sidebar.html:12
+#: company/templates/company/supplier_part_sidebar.html:7
+#: order/templates/order/order_base.html:13
+#: order/templates/order/purchase_orders.html:8
+#: order/templates/order/purchase_orders.html:12
+#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35
+#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199
+#: templates/InvenTree/settings/sidebar.html:57
+#: templates/js/translated/search.js:205 templates/navbar.html:50
+#: users/models.py:208
+msgid "Purchase Orders"
+msgstr ""
+
+#: company/templates/company/detail.html:79
+#: order/templates/order/purchase_orders.html:17
+msgid "Create new purchase order"
+msgstr ""
+
+#: company/templates/company/detail.html:80
+#: order/templates/order/purchase_orders.html:18
+msgid "New Purchase Order"
+msgstr ""
+
+#: company/templates/company/detail.html:101
+#: company/templates/company/sidebar.html:21
+#: order/templates/order/sales_order_base.html:13
+#: order/templates/order/sales_orders.html:8
+#: order/templates/order/sales_orders.html:15
+#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39
+#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219
+#: templates/InvenTree/settings/sidebar.html:59
+#: templates/js/translated/search.js:219 templates/navbar.html:62
+#: users/models.py:209
+msgid "Sales Orders"
+msgstr ""
+
+#: company/templates/company/detail.html:105
+#: order/templates/order/sales_orders.html:20
+msgid "Create new sales order"
+msgstr ""
+
+#: company/templates/company/detail.html:106
+#: order/templates/order/sales_orders.html:21
+msgid "New Sales Order"
+msgstr ""
+
+#: company/templates/company/detail.html:126
+msgid "Assigned Stock"
+msgstr ""
+
+#: company/templates/company/detail.html:142
+#: company/templates/company/sidebar.html:29
+#: order/templates/order/return_order_base.html:13
+#: order/templates/order/return_orders.html:8
+#: order/templates/order/return_orders.html:15
+#: templates/InvenTree/settings/sidebar.html:61
+#: templates/js/translated/search.js:232 templates/navbar.html:65
+#: users/models.py:210
+msgid "Return Orders"
+msgstr ""
+
+#: company/templates/company/detail.html:146
+#: order/templates/order/return_orders.html:20
+msgid "Create new return order"
+msgstr ""
+
+#: company/templates/company/detail.html:147
+#: order/templates/order/return_orders.html:21
+msgid "New Return Order"
+msgstr ""
+
+#: company/templates/company/detail.html:168
+msgid "Company Notes"
+msgstr ""
+
+#: company/templates/company/detail.html:183
+msgid "Company Contacts"
+msgstr ""
+
+#: company/templates/company/detail.html:187
+#: company/templates/company/detail.html:188
+msgid "Add Contact"
+msgstr ""
+
+#: company/templates/company/detail.html:206
+msgid "Company addresses"
+msgstr ""
+
+#: company/templates/company/detail.html:210
+#: company/templates/company/detail.html:211
+msgid "Add Address"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:15 company/views.py:37
+#: templates/InvenTree/search.html:180 templates/navbar.html:49
+msgid "Manufacturers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:35
+#: company/templates/company/supplier_part.html:227
+#: part/templates/part/detail.html:109 part/templates/part/part_base.html:83
+msgid "Order part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:39
+#: templates/js/translated/company.js:1343
+msgid "Edit manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:43
+#: templates/js/translated/company.js:1344
+msgid "Delete manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:65
+#: company/templates/company/supplier_part.html:97 order/api.py:458
+msgid "Internal Part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/supplier_part.html:15 company/views.py:31
+#: part/admin.py:122 part/serializers.py:839
+#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190
+#: templates/navbar.html:48
+msgid "Suppliers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:156
+#: company/templates/company/manufacturer_part_sidebar.html:5
+#: part/templates/part/category_sidebar.html:20
+#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8
+msgid "Parameters"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:160
+#: part/templates/part/detail.html:200
+#: templates/InvenTree/settings/category.html:12
+#: templates/InvenTree/settings/part_parameters.html:24
+msgid "New Parameter"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:206
+#: templates/js/translated/part.js:1423
+msgid "Add Parameter"
+msgstr ""
+
+#: company/templates/company/sidebar.html:6
+msgid "Manufactured Parts"
+msgstr ""
+
+#: company/templates/company/sidebar.html:10
+msgid "Supplied Parts"
+msgstr ""
+
+#: company/templates/company/sidebar.html:16
+msgid "Supplied Stock Items"
+msgstr ""
+
+#: company/templates/company/sidebar.html:25
+msgid "Assigned Stock Items"
+msgstr ""
+
+#: company/templates/company/sidebar.html:33
+msgid "Contacts"
+msgstr ""
+
+#: company/templates/company/sidebar.html:35
+msgid "Addresses"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:7
+#: company/templates/company/supplier_part.html:24 order/api.py:452
+#: stock/models.py:779 stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1600
+#: templates/js/translated/purchase_order.js:752
+#: templates/js/translated/stock.js:2280
+msgid "Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:50
+#: templates/js/translated/company.js:1526
+msgid "Supplier part actions"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:55
+#: company/templates/company/supplier_part.html:56
+#: company/templates/company/supplier_part.html:228
+#: part/templates/part/detail.html:110
+msgid "Order Part"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:60
+#: company/templates/company/supplier_part.html:61
+msgid "Update Availability"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:63
+#: company/templates/company/supplier_part.html:64
+#: templates/js/translated/company.js:294
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:68
+#: company/templates/company/supplier_part.html:69
+#: templates/js/translated/company.js:269
+msgid "Duplicate Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:73
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:74
+msgid "Delete Supplier  Part"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:133
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:139 part/bom.py:279
+#: part/bom.py:311 part/serializers.py:526
+#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787
+#: templates/js/translated/pricing.js:510
+#: templates/js/translated/purchase_order.js:1850
+#: templates/js/translated/purchase_order.js:2028
+msgid "SKU"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:206
+msgid "Supplier Part Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:209
+#: part/templates/part/detail.html:24 stock/templates/stock/location.html:206
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:210
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:207
+#: templates/js/translated/stock.js:537
+msgid "New Stock Item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:223
+msgid "Supplier Part Orders"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:246
+msgid "Pricing Information"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:251
+#: templates/js/translated/company.js:398
+#: templates/js/translated/pricing.js:684
+msgid "Add Price Break"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:276
+msgid "Supplier Part QR Code"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:287
+msgid "Link Barcode to Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:359
+msgid "Update Part Availability"
+msgstr ""
+
+#: company/templates/company/supplier_part_sidebar.html:5
+#: part/serializers.py:838 part/stocktake.py:224
+#: part/templates/part/category.html:183
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:69
+#: stock/serializers.py:919 stock/serializers.py:1083
+#: stock/templates/stock/location.html:170
+#: stock/templates/stock/location.html:191
+#: stock/templates/stock/location.html:203
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1061
+#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766
+#: users/models.py:206
+msgid "Stock Items"
+msgstr ""
+
+#: company/templates/company/supplier_part_sidebar.html:9
+msgid "Supplier Part Pricing"
+msgstr ""
+
+#: company/views.py:32
+msgid "New Supplier"
+msgstr ""
+
+#: company/views.py:38
+msgid "New Manufacturer"
+msgstr ""
+
+#: company/views.py:43 templates/InvenTree/search.html:210
+#: templates/navbar.html:60
+msgid "Customers"
+msgstr ""
+
+#: company/views.py:44
+msgid "New Customer"
+msgstr ""
+
+#: company/views.py:51 templates/js/translated/search.js:192
+msgid "Companies"
+msgstr ""
+
+#: company/views.py:52
+msgid "New Company"
+msgstr ""
+
+#: generic/states/tests.py:18 order/status_codes.py:13
+msgid "Placed"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:218
+msgid "Copies"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:219
+msgid "Number of copies to print for each label"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:234
+msgid "Connected"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:235 order/api.py:1515
+#: templates/js/translated/sales_order.js:1078
+msgid "Unknown"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:236
+msgid "Printing"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:237
+msgid "No media"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:238
+msgid "Disconnected"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:245
+msgid "Label Printer"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:246
+msgid "Directly print labels for various items."
+msgstr ""
+
+#: machine/machine_types/label_printer.py:252
+msgid "Printer Location"
+msgstr ""
+
+#: machine/machine_types/label_printer.py:253
+msgid "Scope the printer to a specific location"
+msgstr ""
+
+#: machine/models.py:25
+msgid "Name of machine"
+msgstr ""
+
+#: machine/models.py:29
+msgid "Machine Type"
+msgstr ""
+
+#: machine/models.py:29
+msgid "Type of machine"
+msgstr ""
+
+#: machine/models.py:34 machine/models.py:146
+msgid "Driver"
+msgstr ""
+
+#: machine/models.py:35
+msgid "Driver used for the machine"
+msgstr ""
+
+#: machine/models.py:39
+msgid "Machines can be disabled"
+msgstr ""
+
+#: machine/models.py:95
+msgid "Driver available"
+msgstr ""
+
+#: machine/models.py:100
+msgid "No errors"
+msgstr ""
+
+#: machine/models.py:105
+msgid "Initialized"
+msgstr ""
+
+#: machine/models.py:110
+msgid "Errors"
+msgstr ""
+
+#: machine/models.py:117
+msgid "Machine status"
+msgstr ""
+
+#: machine/models.py:145
+msgid "Machine"
+msgstr ""
+
+#: machine/models.py:151
+msgid "Machine Config"
+msgstr ""
+
+#: machine/models.py:156
+msgid "Config type"
+msgstr ""
+
+#: order/admin.py:30 order/models.py:89
+#: report/templates/report/inventree_purchase_order_report.html:31
+#: report/templates/report/inventree_sales_order_report.html:31
+#: templates/js/translated/order.js:327
+#: templates/js/translated/purchase_order.js:2125
+#: templates/js/translated/sales_order.js:1883
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:161 order/serializers.py:92
+#: order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:122
+msgid "Order Status"
+msgstr ""
+
+#: order/api.py:165 templates/js/translated/table_filters.js:194
+#: templates/js/translated/table_filters.js:779
+msgid "Has Pricing"
+msgstr ""
+
+#: order/api.py:240
+msgid "No matching purchase order found"
+msgstr ""
+
+#: order/api.py:437 order/api.py:817 order/models.py:1431 order/models.py:1540
+#: order/models.py:1586 order/models.py:1700 order/models.py:1854
+#: order/models.py:2267 order/models.py:2318
+#: templates/js/translated/sales_order.js:1524
+msgid "Order"
+msgstr ""
+
+#: order/api.py:441 order/api.py:838
+msgid "Order Complete"
+msgstr ""
+
+#: order/api.py:462
+msgid "Order Pending"
+msgstr ""
+
+#: order/api.py:1509 order/models.py:380 order/models.py:1432
+#: order/models.py:1541 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
+#: report/templates/report/inventree_purchase_order_report.html:14
+#: stock/serializers.py:119 stock/templates/stock/item_base.html:176
+#: templates/email/overdue_purchase_order.html:15
+#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804
+#: templates/js/translated/purchase_order.js:168
+#: templates/js/translated/purchase_order.js:753
+#: templates/js/translated/purchase_order.js:1673
+#: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907
+msgid "Purchase Order"
+msgstr ""
+
+#: order/api.py:1513 order/models.py:2017 order/models.py:2268
+#: order/models.py:2319 order/templates/order/return_order_base.html:9
+#: order/templates/order/return_order_base.html:28
+#: report/templates/report/inventree_return_order_report.html:13
+#: templates/js/translated/return_order.js:280
+#: templates/js/translated/stock.js:2941
+msgid "Return Order"
+msgstr ""
+
+#: order/models.py:90
+msgid "Total price for this order"
+msgstr ""
+
+#: order/models.py:95 order/serializers.py:72
+msgid "Order Currency"
+msgstr ""
+
+#: order/models.py:98 order/serializers.py:73
+msgid "Currency for this order (leave blank to use company default)"
+msgstr ""
+
+#: order/models.py:247
+msgid "Contact does not match selected company"
+msgstr ""
+
+#: order/models.py:290
+msgid "Order description (optional)"
+msgstr ""
+
+#: order/models.py:299
+msgid "Select project code for this order"
+msgstr ""
+
+#: order/models.py:303 order/models.py:1337 order/models.py:1753
+msgid "Link to external page"
+msgstr ""
+
+#: order/models.py:311
+msgid "Expected date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/models.py:325
+msgid "Created By"
+msgstr ""
+
+#: order/models.py:333
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:344
+msgid "Point of contact for this order"
+msgstr ""
+
+#: order/models.py:354
+msgid "Company address for this order"
+msgstr ""
+
+#: order/models.py:464 order/models.py:929
+msgid "Order reference"
+msgstr ""
+
+#: order/models.py:472 order/models.py:953
+msgid "Purchase order status"
+msgstr ""
+
+#: order/models.py:487
+msgid "Company from which the items are being ordered"
+msgstr ""
+
+#: order/models.py:498 order/templates/order/order_base.html:148
+#: templates/js/translated/purchase_order.js:1702
+msgid "Supplier Reference"
+msgstr ""
+
+#: order/models.py:499
+msgid "Supplier order reference code"
+msgstr ""
+
+#: order/models.py:508
+msgid "received by"
+msgstr ""
+
+#: order/models.py:514 order/models.py:2094
+msgid "Issue Date"
+msgstr ""
+
+#: order/models.py:515 order/models.py:2095
+msgid "Date order was issued"
+msgstr ""
+
+#: order/models.py:522 order/models.py:2102
+msgid "Date order was completed"
+msgstr ""
+
+#: order/models.py:566
+msgid "Part supplier must match PO supplier"
+msgstr ""
+
+#: order/models.py:760
+msgid "Quantity must be a positive number"
+msgstr ""
+
+#: order/models.py:941
+msgid "Company to which the items are being sold"
+msgstr ""
+
+#: order/models.py:964 order/models.py:2087
+msgid "Customer Reference "
+msgstr ""
+
+#: order/models.py:965 order/models.py:2088
+msgid "Customer order reference code"
+msgstr ""
+
+#: order/models.py:969 order/models.py:1707
+#: templates/js/translated/sales_order.js:879
+#: templates/js/translated/sales_order.js:1060
+msgid "Shipment Date"
+msgstr ""
+
+#: order/models.py:978
+msgid "shipped by"
+msgstr ""
+
+#: order/models.py:1027
+msgid "Order is already complete"
+msgstr ""
+
+#: order/models.py:1030
+msgid "Order is already cancelled"
+msgstr ""
+
+#: order/models.py:1034
+msgid "Only an open order can be marked as complete"
+msgstr ""
+
+#: order/models.py:1038
+msgid "Order cannot be completed as there are incomplete shipments"
+msgstr ""
+
+#: order/models.py:1043
+msgid "Order cannot be completed as there are incomplete line items"
+msgstr ""
+
+#: order/models.py:1309
+msgid "Item quantity"
+msgstr ""
+
+#: order/models.py:1326
+msgid "Line item reference"
+msgstr ""
+
+#: order/models.py:1333
+msgid "Line item notes"
+msgstr ""
+
+#: order/models.py:1345
+msgid "Target date for this line item (leave blank to use the target date from the order)"
+msgstr ""
+
+#: order/models.py:1366
+msgid "Line item description (optional)"
+msgstr ""
+
+#: order/models.py:1372
+msgid "Context"
+msgstr ""
+
+#: order/models.py:1373
+msgid "Additional context for this line"
+msgstr ""
+
+#: order/models.py:1383
+msgid "Unit price"
+msgstr ""
+
+#: order/models.py:1416
+msgid "Supplier part must match supplier"
+msgstr ""
+
+#: order/models.py:1423
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:1451
+msgid "Supplier part"
+msgstr ""
+
+#: order/models.py:1458 order/templates/order/order_base.html:196
+#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902
+#: templates/js/translated/purchase_order.js:1306
+#: templates/js/translated/purchase_order.js:2169
+#: templates/js/translated/return_order.js:763
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:602
+msgid "Received"
+msgstr ""
+
+#: order/models.py:1459
+msgid "Number of items received"
+msgstr ""
+
+#: order/models.py:1467 stock/models.py:940 stock/serializers.py:532
+#: stock/templates/stock/item_base.html:183
+#: templates/js/translated/stock.js:2311
+msgid "Purchase Price"
+msgstr ""
+
+#: order/models.py:1468
+msgid "Unit purchase price"
+msgstr ""
+
+#: order/models.py:1483
+msgid "Where does the Purchaser want this item to be stored?"
+msgstr ""
+
+#: order/models.py:1574
+msgid "Virtual part cannot be assigned to a sales order"
+msgstr ""
+
+#: order/models.py:1579
+msgid "Only salable parts can be assigned to a sales order"
+msgstr ""
+
+#: order/models.py:1605 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957
+msgid "Sale Price"
+msgstr ""
+
+#: order/models.py:1606
+msgid "Unit sale price"
+msgstr ""
+
+#: order/models.py:1615 order/status_codes.py:43
+#: templates/js/translated/sales_order.js:1559
+#: templates/js/translated/sales_order.js:1680
+#: templates/js/translated/sales_order.js:1993
+msgid "Shipped"
+msgstr ""
+
+#: order/models.py:1616
+msgid "Shipped quantity"
+msgstr ""
+
+#: order/models.py:1708
+msgid "Date of shipment"
+msgstr ""
+
+#: order/models.py:1714 templates/js/translated/sales_order.js:1072
+msgid "Delivery Date"
+msgstr ""
+
+#: order/models.py:1715
+msgid "Date of delivery of shipment"
+msgstr ""
+
+#: order/models.py:1723
+msgid "Checked By"
+msgstr ""
+
+#: order/models.py:1724
+msgid "User who checked this shipment"
+msgstr ""
+
+#: order/models.py:1731 order/models.py:1944 order/serializers.py:1355
+#: order/serializers.py:1465 templates/js/translated/model_renderers.js:454
+msgid "Shipment"
+msgstr ""
+
+#: order/models.py:1732
+msgid "Shipment number"
+msgstr ""
+
+#: order/models.py:1740
+msgid "Tracking Number"
+msgstr ""
+
+#: order/models.py:1741
+msgid "Shipment tracking information"
+msgstr ""
+
+#: order/models.py:1748
+msgid "Invoice Number"
+msgstr ""
+
+#: order/models.py:1749
+msgid "Reference number for associated invoice"
+msgstr ""
+
+#: order/models.py:1769
+msgid "Shipment has already been sent"
+msgstr ""
+
+#: order/models.py:1772
+msgid "Shipment has no allocated stock items"
+msgstr ""
+
+#: order/models.py:1890 order/models.py:1892
+msgid "Stock item has not been assigned"
+msgstr ""
+
+#: order/models.py:1899
+msgid "Cannot allocate stock item to a line with a different part"
+msgstr ""
+
+#: order/models.py:1902
+msgid "Cannot allocate stock to a line without a part"
+msgstr ""
+
+#: order/models.py:1905
+msgid "Allocation quantity cannot exceed stock quantity"
+msgstr ""
+
+#: order/models.py:1924 order/serializers.py:1232
+msgid "Quantity must be 1 for serialized stock item"
+msgstr ""
+
+#: order/models.py:1927
+msgid "Sales order does not match shipment"
+msgstr ""
+
+#: order/models.py:1928 plugin/base/barcodes/api.py:481
+msgid "Shipment does not match sales order"
+msgstr ""
+
+#: order/models.py:1936
+msgid "Line"
+msgstr ""
+
+#: order/models.py:1945
+msgid "Sales order shipment reference"
+msgstr ""
+
+#: order/models.py:1958 order/models.py:2275
+#: templates/js/translated/return_order.js:721
+msgid "Item"
+msgstr ""
+
+#: order/models.py:1959
+msgid "Select stock item to allocate"
+msgstr ""
+
+#: order/models.py:1968
+msgid "Enter stock allocation quantity"
+msgstr ""
+
+#: order/models.py:2057
+msgid "Return Order reference"
+msgstr ""
+
+#: order/models.py:2069
+msgid "Company from which items are being returned"
+msgstr ""
+
+#: order/models.py:2081
+msgid "Return order status"
+msgstr ""
+
+#: order/models.py:2260
+msgid "Only serialized items can be assigned to a Return Order"
+msgstr ""
+
+#: order/models.py:2276
+msgid "Select item to return from customer"
+msgstr ""
+
+#: order/models.py:2282
+msgid "Received Date"
+msgstr ""
+
+#: order/models.py:2283
+msgid "The date this this return item was received"
+msgstr ""
+
+#: order/models.py:2294 templates/js/translated/return_order.js:732
+#: templates/js/translated/table_filters.js:123
+msgid "Outcome"
+msgstr ""
+
+#: order/models.py:2295
+msgid "Outcome for this line item"
+msgstr ""
+
+#: order/models.py:2302
+msgid "Cost associated with return or repair for this line item"
+msgstr ""
+
+#: order/serializers.py:81 order/templates/order/po_sidebar.html:5
+#: order/templates/order/return_order_detail.html:18
+#: order/templates/order/so_sidebar.html:5
+#: report/templates/report/inventree_purchase_order_report.html:22
+#: report/templates/report/inventree_return_order_report.html:19
+#: report/templates/report/inventree_sales_order_report.html:22
+msgid "Line Items"
+msgstr ""
+
+#: order/serializers.py:85
+msgid "Completed Lines"
+msgstr ""
+
+#: order/serializers.py:288
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:303 order/serializers.py:1248
+msgid "Allow order to be closed with incomplete line items"
+msgstr ""
+
+#: order/serializers.py:313 order/serializers.py:1258
+msgid "Order has incomplete line items"
+msgstr ""
+
+#: order/serializers.py:441
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:462
+msgid "Auto Pricing"
+msgstr ""
+
+#: order/serializers.py:464
+msgid "Automatically calculate purchase price based on supplier part data"
+msgstr ""
+
+#: order/serializers.py:474
+msgid "Purchase price currency"
+msgstr ""
+
+#: order/serializers.py:480
+msgid "Merge Items"
+msgstr ""
+
+#: order/serializers.py:482
+msgid "Merge items with the same part, destination and target date into one line item"
+msgstr ""
+
+#: order/serializers.py:500
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:503
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:511
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:512
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:551 order/serializers.py:1326
+msgid "Line Item"
+msgstr ""
+
+#: order/serializers.py:557
+msgid "Line item does not match purchase order"
+msgstr ""
+
+#: order/serializers.py:567 order/serializers.py:675 order/serializers.py:1681
+msgid "Select destination location for received items"
+msgstr ""
+
+#: order/serializers.py:583 templates/js/translated/purchase_order.js:1130
+msgid "Enter batch code for incoming stock items"
+msgstr ""
+
+#: order/serializers.py:591 templates/js/translated/purchase_order.js:1154
+msgid "Enter serial numbers for incoming stock items"
+msgstr ""
+
+#: order/serializers.py:602 templates/js/translated/barcode.js:52
+msgid "Barcode"
+msgstr ""
+
+#: order/serializers.py:603
+msgid "Scanned barcode"
+msgstr ""
+
+#: order/serializers.py:619
+msgid "Barcode is already in use"
+msgstr ""
+
+#: order/serializers.py:643
+msgid "An integer quantity must be provided for trackable parts"
+msgstr ""
+
+#: order/serializers.py:691 order/serializers.py:1697
+msgid "Line items must be provided"
+msgstr ""
+
+#: order/serializers.py:707
+msgid "Destination location must be specified"
+msgstr ""
+
+#: order/serializers.py:718
+msgid "Supplied barcode values must be unique"
+msgstr ""
+
+#: order/serializers.py:1075
+msgid "Sale price currency"
+msgstr ""
+
+#: order/serializers.py:1135
+msgid "No shipment details provided"
+msgstr ""
+
+#: order/serializers.py:1196 order/serializers.py:1335
+msgid "Line item is not associated with this order"
+msgstr ""
+
+#: order/serializers.py:1215
+msgid "Quantity must be positive"
+msgstr ""
+
+#: order/serializers.py:1345
+msgid "Enter serial numbers to allocate"
+msgstr ""
+
+#: order/serializers.py:1367 order/serializers.py:1473
+msgid "Shipment has already been shipped"
+msgstr ""
+
+#: order/serializers.py:1370 order/serializers.py:1476
+msgid "Shipment is not associated with this order"
+msgstr ""
+
+#: order/serializers.py:1417
+msgid "No match found for the following serial numbers"
+msgstr ""
+
+#: order/serializers.py:1424
+msgid "The following serial numbers are already allocated"
+msgstr ""
+
+#: order/serializers.py:1651
+msgid "Return order line item"
+msgstr ""
+
+#: order/serializers.py:1657
+msgid "Line item does not match return order"
+msgstr ""
+
+#: order/serializers.py:1660
+msgid "Line item has already been received"
+msgstr ""
+
+#: order/serializers.py:1689
+msgid "Items can only be received against orders which are in progress"
+msgstr ""
+
+#: order/serializers.py:1767
+msgid "Line price currency"
+msgstr ""
+
+#: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16
+msgid "Lost"
+msgstr ""
+
+#: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22
+msgid "Returned"
+msgstr ""
+
+#: order/status_codes.py:40 order/status_codes.py:67
+msgid "In Progress"
+msgstr ""
+
+#: order/status_codes.py:85
+msgid "Return"
+msgstr ""
+
+#: order/status_codes.py:88
+msgid "Repair"
+msgstr ""
+
+#: order/status_codes.py:91
+msgid "Replace"
+msgstr ""
+
+#: order/status_codes.py:94
+msgid "Refund"
+msgstr ""
+
+#: order/status_codes.py:97
+msgid "Reject"
+msgstr ""
+
+#: order/tasks.py:25
+msgid "Overdue Purchase Order"
+msgstr ""
+
+#: order/tasks.py:30
+#, python-brace-format
+msgid "Purchase order {po} is now overdue"
+msgstr ""
+
+#: order/tasks.py:75
+msgid "Overdue Sales Order"
+msgstr ""
+
+#: order/tasks.py:80
+#, python-brace-format
+msgid "Sales order {so} is now overdue"
+msgstr ""
+
+#: order/templates/order/order_base.html:51
+msgid "Print purchase order report"
+msgstr ""
+
+#: order/templates/order/order_base.html:53
+#: order/templates/order/return_order_base.html:62
+#: order/templates/order/sales_order_base.html:62
+msgid "Export order to file"
+msgstr ""
+
+#: order/templates/order/order_base.html:59
+#: order/templates/order/return_order_base.html:72
+#: order/templates/order/sales_order_base.html:71
+msgid "Order actions"
+msgstr ""
+
+#: order/templates/order/order_base.html:64
+#: order/templates/order/return_order_base.html:76
+#: order/templates/order/sales_order_base.html:75
+msgid "Edit order"
+msgstr ""
+
+#: order/templates/order/order_base.html:68
+#: order/templates/order/return_order_base.html:78
+#: order/templates/order/sales_order_base.html:77
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:73
+msgid "Duplicate order"
+msgstr ""
+
+#: order/templates/order/order_base.html:79
+#: order/templates/order/order_base.html:80
+#: order/templates/order/return_order_base.html:82
+#: order/templates/order/return_order_base.html:83
+#: order/templates/order/sales_order_base.html:83
+#: order/templates/order/sales_order_base.html:84
+msgid "Issue Order"
+msgstr ""
+
+#: order/templates/order/order_base.html:83
+#: order/templates/order/return_order_base.html:86
+msgid "Mark order as complete"
+msgstr ""
+
+#: order/templates/order/order_base.html:84
+#: order/templates/order/return_order_base.html:87
+#: order/templates/order/sales_order_base.html:97
+msgid "Complete Order"
+msgstr ""
+
+#: order/templates/order/order_base.html:91
+msgid "Supplier part thumbnail"
+msgstr ""
+
+#: order/templates/order/order_base.html:106
+#: order/templates/order/return_order_base.html:101
+#: order/templates/order/sales_order_base.html:110
+msgid "Order Reference"
+msgstr ""
+
+#: order/templates/order/order_base.html:111
+#: order/templates/order/return_order_base.html:106
+#: order/templates/order/sales_order_base.html:115
+msgid "Order Description"
+msgstr ""
+
+#: order/templates/order/order_base.html:141
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:154
+#: order/templates/order/sales_order_base.html:161
+msgid "Completed Line Items"
+msgstr ""
+
+#: order/templates/order/order_base.html:160
+#: order/templates/order/sales_order_base.html:167
+#: order/templates/order/sales_order_base.html:177
+msgid "Incomplete"
+msgstr ""
+
+#: order/templates/order/order_base.html:179
+#: order/templates/order/return_order_base.html:157
+#: report/templates/report/inventree_build_order_report.html:121
+msgid "Issued"
+msgstr ""
+
+#: order/templates/order/order_base.html:224
+msgid "Total cost"
+msgstr ""
+
+#: order/templates/order/order_base.html:228
+#: order/templates/order/return_order_base.html:199
+#: order/templates/order/sales_order_base.html:243
+msgid "Total cost could not be calculated"
+msgstr ""
+
+#: order/templates/order/order_base.html:314
+msgid "Purchase Order QR Code"
+msgstr ""
+
+#: order/templates/order/order_base.html:326
+msgid "Link Barcode to Purchase Order"
+msgstr ""
+
+#: order/templates/order/order_wizard/match_fields.html:9
+#: part/templates/part/import_wizard/ajax_match_fields.html:9
+#: part/templates/part/import_wizard/match_fields.html:9
+#: templates/patterns/wizard/match_fields.html:8
+msgid "Missing selections for the following required columns"
+msgstr ""
+
+#: order/templates/order/order_wizard/match_fields.html:20
+#: part/templates/part/import_wizard/ajax_match_fields.html:20
+#: part/templates/part/import_wizard/match_fields.html:20
+#: templates/patterns/wizard/match_fields.html:19
+msgid "Duplicate selections found, see below. Fix them then retry submitting."
+msgstr ""
+
+#: order/templates/order/order_wizard/match_fields.html:29
+#: order/templates/order/order_wizard/match_parts.html:21
+#: part/templates/part/import_wizard/match_fields.html:29
+#: part/templates/part/import_wizard/match_references.html:21
+#: templates/patterns/wizard/match_fields.html:28
+msgid "Submit Selections"
+msgstr ""
+
+#: order/templates/order/order_wizard/match_fields.html:35
+#: part/templates/part/import_wizard/ajax_match_fields.html:28
+#: part/templates/part/import_wizard/match_fields.html:35
+#: templates/patterns/wizard/match_fields.html:34
+msgid "File Fields"
+msgstr ""
+
+#: order/templates/order/order_wizard/match_fields.html:42
+#: part/templates/part/import_wizard/ajax_match_fields.html:35
+#: part/templates/part/import_wizard/match_fields.html:42
+#: templates/patterns/wizard/match_fields.html:41
+msgid "Remove column"
+msgstr ""
+
+#: order/templates/order/order_wizard/match_fields.html:60
+#: part/templates/part/import_wizard/ajax_match_fields.html:53
+#: part/templates/part/import_wizard/match_fields.html:60
+#: templates/patterns/wizard/match_fields.html:59
+msgid "Duplicate selection"
+msgstr ""
+
+#: order/templates/order/order_wizard/match_fields.html:71
+#: order/templates/order/order_wizard/match_parts.html:52
+#: part/templates/part/import_wizard/ajax_match_fields.html:64
+#: part/templates/part/import_wizard/ajax_match_references.html:42
+#: part/templates/part/import_wizard/match_fields.html:71
+#: part/templates/part/import_wizard/match_references.html:49
+#: templates/js/translated/bom.js:133 templates/js/translated/build.js:529
+#: templates/js/translated/build.js:1629
+#: templates/js/translated/purchase_order.js:696
+#: templates/js/translated/purchase_order.js:1236
+#: templates/js/translated/return_order.js:505
+#: templates/js/translated/sales_order.js:1145
+#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883
+#: templates/patterns/wizard/match_fields.html:70
+msgid "Remove row"
+msgstr ""
+
+#: order/templates/order/order_wizard/match_parts.html:12
+#: part/templates/part/import_wizard/ajax_match_references.html:12
+#: part/templates/part/import_wizard/match_references.html:12
+msgid "Errors exist in the submitted data"
+msgstr ""
+
+#: order/templates/order/order_wizard/match_parts.html:28
+#: part/templates/part/import_wizard/ajax_match_references.html:21
+#: part/templates/part/import_wizard/match_references.html:28
+msgid "Row"
+msgstr ""
+
+#: order/templates/order/order_wizard/match_parts.html:29
+msgid "Select Supplier Part"
+msgstr ""
+
+#: order/templates/order/order_wizard/po_upload.html:8
+msgid "Return to Orders"
+msgstr ""
+
+#: order/templates/order/order_wizard/po_upload.html:13
+msgid "Upload File for Purchase Order"
+msgstr ""
+
+#: order/templates/order/order_wizard/po_upload.html:14
+msgid "Order is already processed. Files cannot be uploaded."
+msgstr ""
+
+#: order/templates/order/order_wizard/po_upload.html:27
+#: part/templates/part/import_wizard/ajax_part_upload.html:10
+#: part/templates/part/import_wizard/part_upload.html:26
+#: templates/patterns/wizard/upload.html:13
+#, python-format
+msgid "Step %(step)s of %(count)s"
+msgstr ""
+
+#: order/templates/order/po_sidebar.html:7
+msgid "Received Stock"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:18
+msgid "Purchase Order Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:27
+#: order/templates/order/return_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:24
+#: templates/js/translated/purchase_order.js:414
+#: templates/js/translated/return_order.js:458
+#: templates/js/translated/sales_order.js:237
+msgid "Add Line Item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:31
+#: order/templates/order/purchase_order_detail.html:32
+#: order/templates/order/return_order_detail.html:28
+#: order/templates/order/return_order_detail.html:29
+msgid "Receive Line Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/return_order_detail.html:45
+#: order/templates/order/sales_order_detail.html:41
+msgid "Extra Lines"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/return_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:47
+msgid "Add Extra Line"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:74
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:99
+#: order/templates/order/return_order_detail.html:85
+#: order/templates/order/sales_order_detail.html:139
+msgid "Order Notes"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:18
+#: order/templates/order/sales_order_base.html:18
+msgid "Customer logo thumbnail"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:60
+msgid "Print return order report"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:64
+#: order/templates/order/sales_order_base.html:64
+msgid "Print packing list"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:138
+#: order/templates/order/sales_order_base.html:155
+#: templates/js/translated/return_order.js:308
+#: templates/js/translated/sales_order.js:833
+msgid "Customer Reference"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:195
+#: order/templates/order/sales_order_base.html:239
+#: part/templates/part/part_pricing.html:32
+#: part/templates/part/part_pricing.html:58
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
+#: templates/js/translated/part.js:1073
+#: templates/js/translated/purchase_order.js:1752
+#: templates/js/translated/return_order.js:380
+#: templates/js/translated/sales_order.js:891
+msgid "Total Cost"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:259
+msgid "Return Order QR Code"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:271
+msgid "Link Barcode to Return Order"
+msgstr ""
+
+#: order/templates/order/return_order_sidebar.html:5
+msgid "Order Details"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:60
+msgid "Print sales order report"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:88
+#: order/templates/order/sales_order_base.html:89
+msgid "Ship Items"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:92
+#: order/templates/order/sales_order_base.html:93
+msgid "Mark As Shipped"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:96
+#: templates/js/translated/sales_order.js:536
+msgid "Complete Sales Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:135
+msgid "This Sales Order has not been fully allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:173
+#: order/templates/order/sales_order_detail.html:99
+#: order/templates/order/so_sidebar.html:11
+msgid "Completed Shipments"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:321
+msgid "Sales Order QR Code"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:333
+msgid "Link Barcode to Sales Order"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:18
+msgid "Sales Order Items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:67
+#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284
+msgid "Pending Shipments"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:71
+#: templates/js/translated/bom.js:1277 templates/js/translated/filters.js:296
+msgid "Actions"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:80
+msgid "New Shipment"
+msgstr ""
+
+#: order/views.py:120
+msgid "Match Supplier Parts"
+msgstr ""
+
+#: order/views.py:406
+msgid "Sales order not found"
+msgstr ""
+
+#: order/views.py:412
+msgid "Price not found"
+msgstr ""
+
+#: order/views.py:415
+#, python-brace-format
+msgid "Updated {part} unit-price to {price}"
+msgstr ""
+
+#: order/views.py:421
+#, python-brace-format
+msgid "Updated {part} unit-price to {price} and quantity to {qty}"
+msgstr ""
+
+#: part/admin.py:39 part/admin.py:406 part/models.py:3990 part/stocktake.py:219
+#: stock/admin.py:153
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:41 part/admin.py:413 part/models.py:3991 part/stocktake.py:220
+#: stock/admin.py:157
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:45 part/stocktake.py:221
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:48 part/models.py:948 part/templates/part/part_base.html:269
+#: report/templates/report/inventree_stock_location_report.html:103
+#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341
+#: templates/js/translated/stock.js:2036
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:50 part/models.py:957 part/templates/part/part_base.html:277
+#: report/models.py:161 templates/js/translated/part.js:1232
+#: templates/js/translated/part.js:2347
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:53 part/admin.py:319 part/models.py:930
+#: part/templates/part/category.html:94 part/templates/part/part_base.html:298
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:60
+msgid "Part Image"
+msgstr ""
+
+#: part/admin.py:63 part/admin.py:302 part/stocktake.py:222
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:71 part/admin.py:316
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:76
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:81 part/models.py:916 part/templates/part/part_base.html:177
+msgid "Variant Of"
+msgstr ""
+
+#: part/admin.py:84 part/models.py:1044 part/templates/part/part_base.html:203
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:138 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:236
+#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:155 part/models.py:3114 part/models.py:3128
+#: templates/js/translated/part.js:970
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:158 part/models.py:3121 part/models.py:3135
+#: templates/js/translated/part.js:980
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:312 part/admin.py:402 stock/admin.py:62
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:320 part/templates/part/category.html:88
+#: part/templates/part/category.html:101
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:325 part/models.py:394 part/serializers.py:118
+#: part/serializers.py:274 part/serializers.py:393
+#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23
+#: part/templates/part/category.html:141 part/templates/part/category.html:161
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:47
+#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130
+#: templates/navbar.html:24 users/models.py:203
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:386
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:389
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:399
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:410 part/models.py:3992
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:423 part/serializers.py:1281
+#: templates/js/translated/pricing.js:358
+#: templates/js/translated/pricing.js:1024
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:428 part/serializers.py:1296
+#: templates/js/translated/pricing.js:353
+#: templates/js/translated/pricing.js:1032
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:110
+msgid "Starred"
+msgstr ""
+
+#: part/api.py:112
+msgid "Filter by starred categories"
+msgstr ""
+
+#: part/api.py:129 stock/api.py:318
+msgid "Depth"
+msgstr ""
+
+#: part/api.py:129
+msgid "Filter by category depth"
+msgstr ""
+
+#: part/api.py:147 stock/api.py:336
+msgid "Cascade"
+msgstr ""
+
+#: part/api.py:149
+msgid "Include sub-categories in filtered results"
+msgstr ""
+
+#: part/api.py:169 templates/js/translated/part.js:308
+msgid "Parent"
+msgstr ""
+
+#: part/api.py:171
+msgid "Filter by parent category"
+msgstr ""
+
+#: part/api.py:204
+msgid "Exclude Tree"
+msgstr ""
+
+#: part/api.py:206
+msgid "Exclude sub-categories under the specified category"
+msgstr ""
+
+#: part/api.py:455
+msgid "Has Results"
+msgstr ""
+
+#: part/api.py:622
+msgid "Incoming Purchase Order"
+msgstr ""
+
+#: part/api.py:640
+msgid "Outgoing Sales Order"
+msgstr ""
+
+#: part/api.py:656
+msgid "Stock produced by Build Order"
+msgstr ""
+
+#: part/api.py:740
+msgid "Stock required for Build Order"
+msgstr ""
+
+#: part/api.py:887
+msgid "Valid"
+msgstr ""
+
+#: part/api.py:888
+msgid "Validate entire Bill of Materials"
+msgstr ""
+
+#: part/api.py:894
+msgid "This option must be selected"
+msgstr ""
+
+#: part/api.py:1111
+msgid "BOM Valid"
+msgstr ""
+
+#: part/api.py:1514 part/models.py:940 part/models.py:3420 part/models.py:3935
+#: part/serializers.py:408 part/serializers.py:1137
+#: part/templates/part/part_base.html:260 stock/api.py:781
+#: templates/InvenTree/settings/settings_staff_js.html:300
+#: templates/js/translated/notification.js:60
+#: templates/js/translated/part.js:2377
+msgid "Category"
+msgstr ""
+
+#: part/api.py:1802
+msgid "Uses"
+msgstr ""
+
+#: part/bom.py:170 part/models.py:103 part/models.py:983
+#: part/templates/part/category.html:116 part/templates/part/part_base.html:367
+msgid "Default Location"
+msgstr ""
+
+#: part/bom.py:171 part/serializers.py:840
+#: templates/email/low_stock_notification.html:16
+msgid "Total Stock"
+msgstr ""
+
+#: part/forms.py:49
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:84 part/models.py:3936 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr ""
+
+#: part/models.py:85 part/templates/part/category.html:136
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
+#: users/models.py:202
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:104
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:109 stock/models.py:173 templates/js/translated/part.js:2810
+#: templates/js/translated/stock.js:2772
+#: templates/js/translated/table_filters.js:239
+#: templates/js/translated/table_filters.js:283
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:111
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:120
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:121
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:127 stock/models.py:85 stock/models.py:156
+#: templates/InvenTree/settings/settings_staff_js.html:456
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:128 stock/models.py:157
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:150
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:483
+msgid "Cannot delete this part as it is still active"
+msgstr ""
+
+#: part/models.py:490
+msgid "Cannot delete this part as it is used in an assembly"
+msgstr ""
+
+#: part/models.py:528
+msgid "Invalid choice for parent part"
+msgstr ""
+
+#: part/models.py:576 part/models.py:583
+#, python-brace-format
+msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
+msgstr ""
+
+#: part/models.py:595
+#, python-brace-format
+msgid "Part '{parent}' is  used in BOM for '{self}' (recursive)"
+msgstr ""
+
+#: part/models.py:660
+#, python-brace-format
+msgid "IPN must match regex pattern {pattern}"
+msgstr ""
+
+#: part/models.py:740
+msgid "Stock item with this serial number already exists"
+msgstr ""
+
+#: part/models.py:845
+msgid "Duplicate IPN not allowed in part settings"
+msgstr ""
+
+#: part/models.py:855
+msgid "Part with this Name, IPN and Revision already exists."
+msgstr ""
+
+#: part/models.py:870
+msgid "Parts cannot be assigned to structural part categories!"
+msgstr ""
+
+#: part/models.py:899 part/models.py:3991
+msgid "Part name"
+msgstr ""
+
+#: part/models.py:904
+msgid "Is Template"
+msgstr ""
+
+#: part/models.py:905
+msgid "Is this part a template part?"
+msgstr ""
+
+#: part/models.py:915
+msgid "Is this part a variant of another part?"
+msgstr ""
+
+#: part/models.py:923
+msgid "Part description (optional)"
+msgstr ""
+
+#: part/models.py:931
+msgid "Part keywords to improve visibility in search results"
+msgstr ""
+
+#: part/models.py:941
+msgid "Part category"
+msgstr ""
+
+#: part/models.py:949
+msgid "Internal Part Number"
+msgstr ""
+
+#: part/models.py:956
+msgid "Part revision or version number"
+msgstr ""
+
+#: part/models.py:981
+msgid "Where is this item normally stored?"
+msgstr ""
+
+#: part/models.py:1027 part/templates/part/part_base.html:376
+msgid "Default Supplier"
+msgstr ""
+
+#: part/models.py:1028
+msgid "Default supplier part"
+msgstr ""
+
+#: part/models.py:1035
+msgid "Default Expiry"
+msgstr ""
+
+#: part/models.py:1036
+msgid "Expiry time (in days) for stock items of this part"
+msgstr ""
+
+#: part/models.py:1045
+msgid "Minimum allowed stock level"
+msgstr ""
+
+#: part/models.py:1054
+msgid "Units of measure for this part"
+msgstr ""
+
+#: part/models.py:1061
+msgid "Can this part be built from other parts?"
+msgstr ""
+
+#: part/models.py:1067
+msgid "Can this part be used to build other parts?"
+msgstr ""
+
+#: part/models.py:1073
+msgid "Does this part have tracking for unique items?"
+msgstr ""
+
+#: part/models.py:1079
+msgid "Can this part be purchased from external suppliers?"
+msgstr ""
+
+#: part/models.py:1085
+msgid "Can this part be sold to customers?"
+msgstr ""
+
+#: part/models.py:1089
+msgid "Is this part active?"
+msgstr ""
+
+#: part/models.py:1095
+msgid "Is this a virtual part, such as a software product or license?"
+msgstr ""
+
+#: part/models.py:1101
+msgid "BOM checksum"
+msgstr ""
+
+#: part/models.py:1102
+msgid "Stored BOM checksum"
+msgstr ""
+
+#: part/models.py:1110
+msgid "BOM checked by"
+msgstr ""
+
+#: part/models.py:1115
+msgid "BOM checked date"
+msgstr ""
+
+#: part/models.py:1131
+msgid "Creation User"
+msgstr ""
+
+#: part/models.py:1141
+msgid "Owner responsible for this part"
+msgstr ""
+
+#: part/models.py:1146 part/templates/part/part_base.html:339
+#: stock/templates/stock/item_base.html:451
+#: templates/js/translated/part.js:2471
+msgid "Last Stocktake"
+msgstr ""
+
+#: part/models.py:2019
+msgid "Sell multiple"
+msgstr ""
+
+#: part/models.py:3028
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:3044
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:3045
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:3051
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:3052
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:3058
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:3059
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:3065
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:3066
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:3072
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:3073
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:3079
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:3080
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:3086
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:3087
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:3093
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:3094
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:3100
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:3101
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:3107
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:3108
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:3115
+msgid "Override minimum cost"
+msgstr ""
+
+#: part/models.py:3122
+msgid "Override maximum cost"
+msgstr ""
+
+#: part/models.py:3129
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:3136
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:3142
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:3143
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:3149
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:3150
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:3156
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:3157
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:3163
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:3164
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:3183
+msgid "Part for stocktake"
+msgstr ""
+
+#: part/models.py:3188
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:3189
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:3197
+msgid "Total available stock at time of stocktake"
+msgstr ""
+
+#: part/models.py:3201 part/models.py:3284
+#: part/templates/part/part_scheduling.html:13
+#: report/templates/report/inventree_test_report.html:106
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:540
+#: templates/js/translated/part.js:1086 templates/js/translated/pricing.js:826
+#: templates/js/translated/pricing.js:950
+#: templates/js/translated/purchase_order.js:1731
+#: templates/js/translated/stock.js:2821
+msgid "Date"
+msgstr ""
+
+#: part/models.py:3202
+msgid "Date stocktake was performed"
+msgstr ""
+
+#: part/models.py:3210
+msgid "Additional notes"
+msgstr ""
+
+#: part/models.py:3220
+msgid "User who performed this stocktake"
+msgstr ""
+
+#: part/models.py:3226
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:3227
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:3233
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:3234
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:3290 templates/InvenTree/settings/settings_staff_js.html:529
+msgid "Report"
+msgstr ""
+
+#: part/models.py:3291
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:3296 templates/InvenTree/settings/settings_staff_js.html:536
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:3297
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:3307
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3469
+msgid "Invalid template name - must include at least one alphanumeric character"
+msgstr ""
+
+#: part/models.py:3490 part/models.py:3654
+msgid "Choices must be unique"
+msgstr ""
+
+#: part/models.py:3501
+msgid "Test templates can only be created for trackable parts"
+msgstr ""
+
+#: part/models.py:3512
+msgid "Test template with the same key already exists for part"
+msgstr ""
+
+#: part/models.py:3529 templates/js/translated/part.js:2880
+msgid "Test Name"
+msgstr ""
+
+#: part/models.py:3530
+msgid "Enter a name for the test"
+msgstr ""
+
+#: part/models.py:3536
+msgid "Test Key"
+msgstr ""
+
+#: part/models.py:3537
+msgid "Simplified key for the test"
+msgstr ""
+
+#: part/models.py:3544
+msgid "Test Description"
+msgstr ""
+
+#: part/models.py:3545
+msgid "Enter description for this test"
+msgstr ""
+
+#: part/models.py:3549 report/models.py:208
+#: templates/js/translated/part.js:2901
+#: templates/js/translated/table_filters.js:481
+msgid "Enabled"
+msgstr ""
+
+#: part/models.py:3549
+msgid "Is this test enabled?"
+msgstr ""
+
+#: part/models.py:3554 templates/js/translated/part.js:2909
+#: templates/js/translated/table_filters.js:477
+msgid "Required"
+msgstr ""
+
+#: part/models.py:3555
+msgid "Is this test required to pass?"
+msgstr ""
+
+#: part/models.py:3560 templates/js/translated/part.js:2917
+msgid "Requires Value"
+msgstr ""
+
+#: part/models.py:3561
+msgid "Does this test require a value when adding a test result?"
+msgstr ""
+
+#: part/models.py:3566 templates/js/translated/part.js:2924
+msgid "Requires Attachment"
+msgstr ""
+
+#: part/models.py:3568
+msgid "Does this test require a file attachment when adding a test result?"
+msgstr ""
+
+#: part/models.py:3574 part/models.py:3713 templates/js/translated/part.js:1637
+msgid "Choices"
+msgstr ""
+
+#: part/models.py:3575
+msgid "Valid choices for this test (comma-separated)"
+msgstr ""
+
+#: part/models.py:3629
+msgid "Checkbox parameters cannot have units"
+msgstr ""
+
+#: part/models.py:3634
+msgid "Checkbox parameters cannot have choices"
+msgstr ""
+
+#: part/models.py:3671
+msgid "Parameter template name must be unique"
+msgstr ""
+
+#: part/models.py:3686
+msgid "Parameter Name"
+msgstr ""
+
+#: part/models.py:3693
+msgid "Physical units for this parameter"
+msgstr ""
+
+#: part/models.py:3701
+msgid "Parameter description"
+msgstr ""
+
+#: part/models.py:3707 templates/js/translated/part.js:1628
+#: templates/js/translated/table_filters.js:825
+msgid "Checkbox"
+msgstr ""
+
+#: part/models.py:3708
+msgid "Is this parameter a checkbox?"
+msgstr ""
+
+#: part/models.py:3714
+msgid "Valid choices for this parameter (comma-separated)"
+msgstr ""
+
+#: part/models.py:3791
+msgid "Invalid choice for parameter value"
+msgstr ""
+
+#: part/models.py:3834
+msgid "Parent Part"
+msgstr ""
+
+#: part/models.py:3842 part/models.py:3943 part/models.py:3944
+#: templates/InvenTree/settings/settings_staff_js.html:295
+msgid "Parameter Template"
+msgstr ""
+
+#: part/models.py:3847
+msgid "Data"
+msgstr ""
+
+#: part/models.py:3848
+msgid "Parameter Value"
+msgstr ""
+
+#: part/models.py:3950 templates/InvenTree/settings/settings_staff_js.html:304
+msgid "Default Value"
+msgstr ""
+
+#: part/models.py:3951
+msgid "Default Parameter Value"
+msgstr ""
+
+#: part/models.py:3989
+msgid "Part ID or part name"
+msgstr ""
+
+#: part/models.py:3990
+msgid "Unique part ID value"
+msgstr ""
+
+#: part/models.py:3992
+msgid "Part IPN value"
+msgstr ""
+
+#: part/models.py:3993
+msgid "Level"
+msgstr ""
+
+#: part/models.py:3993
+msgid "BOM level"
+msgstr ""
+
+#: part/models.py:4083
+msgid "Select parent part"
+msgstr ""
+
+#: part/models.py:4093
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:4094
+msgid "Select part to be used in BOM"
+msgstr ""
+
+#: part/models.py:4105
+msgid "BOM quantity for this BOM item"
+msgstr ""
+
+#: part/models.py:4111
+msgid "This BOM item is optional"
+msgstr ""
+
+#: part/models.py:4117
+msgid "This BOM item is consumable (it is not tracked in build orders)"
+msgstr ""
+
+#: part/models.py:4124 part/templates/part/upload_bom.html:55
+msgid "Overage"
+msgstr ""
+
+#: part/models.py:4125
+msgid "Estimated build wastage quantity (absolute or percentage)"
+msgstr ""
+
+#: part/models.py:4132
+msgid "BOM item reference"
+msgstr ""
+
+#: part/models.py:4140
+msgid "BOM item notes"
+msgstr ""
+
+#: part/models.py:4146
+msgid "Checksum"
+msgstr ""
+
+#: part/models.py:4147
+msgid "BOM line checksum"
+msgstr ""
+
+#: part/models.py:4152 templates/js/translated/table_filters.js:174
+msgid "Validated"
+msgstr ""
+
+#: part/models.py:4153
+msgid "This BOM item has been validated"
+msgstr ""
+
+#: part/models.py:4158 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1054
+#: templates/js/translated/table_filters.js:178
+#: templates/js/translated/table_filters.js:211
+msgid "Gets inherited"
+msgstr ""
+
+#: part/models.py:4159
+msgid "This BOM item is inherited by BOMs for variant parts"
+msgstr ""
+
+#: part/models.py:4164 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1046
+msgid "Allow Variants"
+msgstr ""
+
+#: part/models.py:4165
+msgid "Stock items for variant parts can be used for this BOM item"
+msgstr ""
+
+#: part/models.py:4250 stock/models.py:664
+msgid "Quantity must be integer value for trackable parts"
+msgstr ""
+
+#: part/models.py:4260 part/models.py:4262
+msgid "Sub part must be specified"
+msgstr ""
+
+#: part/models.py:4402
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:4423
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:4436
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:4444
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:4460
+msgid "Part 1"
+msgstr ""
+
+#: part/models.py:4468
+msgid "Part 2"
+msgstr ""
+
+#: part/models.py:4469
+msgid "Select Related Part"
+msgstr ""
+
+#: part/models.py:4488
+msgid "Part relationship cannot be created between a part and itself"
+msgstr ""
+
+#: part/models.py:4493
+msgid "Duplicate relationship already exists"
+msgstr ""
+
+#: part/serializers.py:120 part/serializers.py:142
+#: part/templates/part/category.html:122 part/templates/part/category.html:207
+#: part/templates/part/category_sidebar.html:7
+msgid "Subcategories"
+msgstr ""
+
+#: part/serializers.py:187
+msgid "Results"
+msgstr ""
+
+#: part/serializers.py:188
+msgid "Number of results recorded against this template"
+msgstr ""
+
+#: part/serializers.py:212 part/serializers.py:230 stock/serializers.py:538
+msgid "Purchase currency of this stock item"
+msgstr ""
+
+#: part/serializers.py:275
+msgid "Number of parts using this template"
+msgstr ""
+
+#: part/serializers.py:399
+msgid "No parts selected"
+msgstr ""
+
+#: part/serializers.py:409
+msgid "Select category"
+msgstr ""
+
+#: part/serializers.py:444
+msgid "Original Part"
+msgstr ""
+
+#: part/serializers.py:445
+msgid "Select original part to duplicate"
+msgstr ""
+
+#: part/serializers.py:450
+msgid "Copy Image"
+msgstr ""
+
+#: part/serializers.py:451
+msgid "Copy image from original part"
+msgstr ""
+
+#: part/serializers.py:457 part/templates/part/detail.html:277
+msgid "Copy BOM"
+msgstr ""
+
+#: part/serializers.py:458
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: part/serializers.py:464
+msgid "Copy Parameters"
+msgstr ""
+
+#: part/serializers.py:465
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: part/serializers.py:471
+msgid "Copy Notes"
+msgstr ""
+
+#: part/serializers.py:472
+msgid "Copy notes from original part"
+msgstr ""
+
+#: part/serializers.py:490
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: part/serializers.py:492
+msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
+msgstr ""
+
+#: part/serializers.py:499
+msgid "Initial Stock Location"
+msgstr ""
+
+#: part/serializers.py:500
+msgid "Specify initial stock location for this Part"
+msgstr ""
+
+#: part/serializers.py:517
+msgid "Select supplier (or leave blank to skip)"
+msgstr ""
+
+#: part/serializers.py:533
+msgid "Select manufacturer (or leave blank to skip)"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Manufacturer part number"
+msgstr ""
+
+#: part/serializers.py:550
+msgid "Selected company is not a valid supplier"
+msgstr ""
+
+#: part/serializers.py:559
+msgid "Selected company is not a valid manufacturer"
+msgstr ""
+
+#: part/serializers.py:570
+msgid "Manufacturer part matching this MPN already exists"
+msgstr ""
+
+#: part/serializers.py:577
+msgid "Supplier part matching this SKU already exists"
+msgstr ""
+
+#: part/serializers.py:841
+msgid "External Stock"
+msgstr ""
+
+#: part/serializers.py:843
+msgid "Unallocated Stock"
+msgstr ""
+
+#: part/serializers.py:846
+msgid "Variant Stock"
+msgstr ""
+
+#: part/serializers.py:876 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:472
+msgid "Duplicate Part"
+msgstr ""
+
+#: part/serializers.py:877
+msgid "Copy initial data from another Part"
+msgstr ""
+
+#: part/serializers.py:883 templates/js/translated/part.js:102
+msgid "Initial Stock"
+msgstr ""
+
+#: part/serializers.py:884
+msgid "Create Part with initial stock quantity"
+msgstr ""
+
+#: part/serializers.py:890
+msgid "Supplier Information"
+msgstr ""
+
+#: part/serializers.py:891
+msgid "Add initial supplier information for this part"
+msgstr ""
+
+#: part/serializers.py:899
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:900
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:905
+msgid "Existing Image"
+msgstr ""
+
+#: part/serializers.py:906
+msgid "Filename of an existing part image"
+msgstr ""
+
+#: part/serializers.py:923
+msgid "Image file does not exist"
+msgstr ""
+
+#: part/serializers.py:1129
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:1139
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:1149
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:1155
+msgid "Exclude External Stock"
+msgstr ""
+
+#: part/serializers.py:1156
+msgid "Exclude stock items in external locations"
+msgstr ""
+
+#: part/serializers.py:1161
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1162
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:1167
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:1168
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:1176
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:1282
+msgid "Override calculated value for minimum price"
+msgstr ""
+
+#: part/serializers.py:1289
+msgid "Minimum price currency"
+msgstr ""
+
+#: part/serializers.py:1297
+msgid "Override calculated value for maximum price"
+msgstr ""
+
+#: part/serializers.py:1304
+msgid "Maximum price currency"
+msgstr ""
+
+#: part/serializers.py:1333
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:1334
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:1357
+#, python-brace-format
+msgid "Could not convert from provided currencies to {default_currency}"
+msgstr ""
+
+#: part/serializers.py:1364
+msgid "Minimum price must not be greater than maximum price"
+msgstr ""
+
+#: part/serializers.py:1367
+msgid "Maximum price must not be less than minimum price"
+msgstr ""
+
+#: part/serializers.py:1734
+msgid "Select part to copy BOM from"
+msgstr ""
+
+#: part/serializers.py:1742
+msgid "Remove Existing Data"
+msgstr ""
+
+#: part/serializers.py:1743
+msgid "Remove existing BOM items before copying"
+msgstr ""
+
+#: part/serializers.py:1748
+msgid "Include Inherited"
+msgstr ""
+
+#: part/serializers.py:1749
+msgid "Include BOM items which are inherited from templated parts"
+msgstr ""
+
+#: part/serializers.py:1754
+msgid "Skip Invalid Rows"
+msgstr ""
+
+#: part/serializers.py:1755
+msgid "Enable this option to skip invalid rows"
+msgstr ""
+
+#: part/serializers.py:1760
+msgid "Copy Substitute Parts"
+msgstr ""
+
+#: part/serializers.py:1761
+msgid "Copy substitute parts when duplicate BOM items"
+msgstr ""
+
+#: part/serializers.py:1795
+msgid "Clear Existing BOM"
+msgstr ""
+
+#: part/serializers.py:1796
+msgid "Delete existing BOM items before uploading"
+msgstr ""
+
+#: part/serializers.py:1826
+msgid "No part column specified"
+msgstr ""
+
+#: part/serializers.py:1870
+msgid "Multiple matching parts found"
+msgstr ""
+
+#: part/serializers.py:1873
+msgid "No matching part found"
+msgstr ""
+
+#: part/serializers.py:1876
+msgid "Part is not designated as a component"
+msgstr ""
+
+#: part/serializers.py:1885
+msgid "Quantity not provided"
+msgstr ""
+
+#: part/serializers.py:1893
+msgid "Invalid quantity"
+msgstr ""
+
+#: part/serializers.py:1914
+msgid "At least one BOM item is required"
+msgstr ""
+
+#: part/stocktake.py:225 templates/js/translated/part.js:1067
+#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878
+#: templates/js/translated/purchase_order.js:2084
+msgid "Total Quantity"
+msgstr ""
+
+#: part/stocktake.py:226
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/stocktake.py:227
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/stocktake.py:285
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/stocktake.py:286
+msgid "A new stocktake report is available for download"
+msgstr ""
+
+#: part/tasks.py:38
+msgid "Low stock notification"
+msgstr ""
+
+#: part/tasks.py:40
+#, python-brace-format
+msgid "The available stock for {part.name} has fallen below the configured minimum level"
+msgstr ""
+
+#: part/templates/part/bom.html:6
+msgid "You do not have permission to edit the BOM."
+msgstr ""
+
+#: part/templates/part/bom.html:15
+msgid "The BOM this part has been changed, and must be validated"
+msgstr ""
+
+#: part/templates/part/bom.html:17
+#, python-format
+msgid "This BOM was last checked by %(checker)s on %(check_date)s"
+msgstr ""
+
+#: part/templates/part/bom.html:21
+msgid "This BOM has not been validated."
+msgstr ""
+
+#: part/templates/part/category.html:35
+msgid "Perform stocktake for this part category"
+msgstr ""
+
+#: part/templates/part/category.html:41 part/templates/part/category.html:45
+msgid "You are subscribed to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:49
+msgid "Subscribe to notifications for this category"
+msgstr ""
+
+#: part/templates/part/category.html:55
+msgid "Category Actions"
+msgstr ""
+
+#: part/templates/part/category.html:60
+msgid "Edit category"
+msgstr ""
+
+#: part/templates/part/category.html:61
+msgid "Edit Category"
+msgstr ""
+
+#: part/templates/part/category.html:65
+msgid "Delete category"
+msgstr ""
+
+#: part/templates/part/category.html:66
+msgid "Delete Category"
+msgstr ""
+
+#: part/templates/part/category.html:102
+msgid "Top level part category"
+msgstr ""
+
+#: part/templates/part/category.html:127
+msgid "Parts (Including subcategories)"
+msgstr ""
+
+#: part/templates/part/category.html:165
+msgid "Create new part"
+msgstr ""
+
+#: part/templates/part/category.html:166 templates/js/translated/bom.js:444
+msgid "New Part"
+msgstr ""
+
+#: part/templates/part/category.html:192
+#: templates/InvenTree/settings/part_parameters.html:7
+#: templates/InvenTree/settings/sidebar.html:49
+msgid "Part Parameters"
+msgstr ""
+
+#: part/templates/part/category.html:211
+msgid "Create new part category"
+msgstr ""
+
+#: part/templates/part/category.html:212
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category_sidebar.html:13
+msgid "Import Parts"
+msgstr ""
+
+#: part/templates/part/copy_part.html:10
+#, python-format
+msgid "Make a copy of part '%(full_name)s'."
+msgstr ""
+
+#: part/templates/part/copy_part.html:14
+#: part/templates/part/create_part.html:11
+msgid "Possible Matching Parts"
+msgstr ""
+
+#: part/templates/part/copy_part.html:15
+#: part/templates/part/create_part.html:12
+msgid "The new part may be a duplicate of these existing parts"
+msgstr ""
+
+#: part/templates/part/create_part.html:17
+#, python-format
+msgid "%(full_name)s - <em>%(desc)s</em> (%(match_per)s%% match)"
+msgstr ""
+
+#: part/templates/part/detail.html:20
+msgid "Part Stock"
+msgstr ""
+
+#: part/templates/part/detail.html:44
+msgid "Refresh scheduling data"
+msgstr ""
+
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:552
+msgid "Refresh"
+msgstr ""
+
+#: part/templates/part/detail.html:66
+msgid "Add stocktake information"
+msgstr ""
+
+#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
+#: stock/admin.py:256 templates/InvenTree/settings/part_stocktake.html:30
+#: templates/InvenTree/settings/sidebar.html:53
+#: templates/js/translated/stock.js:2216 users/models.py:204
+msgid "Stocktake"
+msgstr ""
+
+#: part/templates/part/detail.html:83
+msgid "Part Test Templates"
+msgstr ""
+
+#: part/templates/part/detail.html:88
+msgid "Add Test Template"
+msgstr ""
+
+#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49
+msgid "Sales Order Allocations"
+msgstr ""
+
+#: part/templates/part/detail.html:156
+msgid "Part Notes"
+msgstr ""
+
+#: part/templates/part/detail.html:171
+msgid "Part Variants"
+msgstr ""
+
+#: part/templates/part/detail.html:175
+msgid "Create new variant"
+msgstr ""
+
+#: part/templates/part/detail.html:176
+msgid "New Variant"
+msgstr ""
+
+#: part/templates/part/detail.html:199
+msgid "Add new parameter"
+msgstr ""
+
+#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58
+msgid "Related Parts"
+msgstr ""
+
+#: part/templates/part/detail.html:236 part/templates/part/detail.html:237
+msgid "Add Related"
+msgstr ""
+
+#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17
+#: report/templates/report/inventree_bill_of_materials_report.html:100
+msgid "Bill of Materials"
+msgstr ""
+
+#: part/templates/part/detail.html:260
+msgid "Export actions"
+msgstr ""
+
+#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340
+msgid "Export BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:266
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/detail.html:272
+msgid "BOM actions"
+msgstr ""
+
+#: part/templates/part/detail.html:276
+msgid "Upload BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:278
+msgid "Validate BOM"
+msgstr ""
+
+#: part/templates/part/detail.html:283 part/templates/part/detail.html:284
+#: templates/js/translated/bom.js:1320 templates/js/translated/bom.js:1321
+msgid "Add BOM Item"
+msgstr ""
+
+#: part/templates/part/detail.html:297
+msgid "Assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:313
+msgid "Part Builds"
+msgstr ""
+
+#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36
+msgid "Build Order Allocations"
+msgstr ""
+
+#: part/templates/part/detail.html:352
+msgid "Part Suppliers"
+msgstr ""
+
+#: part/templates/part/detail.html:372
+msgid "Part Manufacturers"
+msgstr ""
+
+#: part/templates/part/detail.html:657
+msgid "Related Part"
+msgstr ""
+
+#: part/templates/part/detail.html:665
+msgid "Add Related Part"
+msgstr ""
+
+#: part/templates/part/detail.html:750
+msgid "Add Test Result Template"
+msgstr ""
+
+#: part/templates/part/import_wizard/ajax_part_upload.html:29
+#: part/templates/part/import_wizard/part_upload.html:14
+msgid "Insufficient privileges."
+msgstr ""
+
+#: part/templates/part/import_wizard/part_upload.html:8
+msgid "Return to Parts"
+msgstr ""
+
+#: part/templates/part/import_wizard/part_upload.html:13
+msgid "Import Parts from File"
+msgstr ""
+
+#: part/templates/part/import_wizard/part_upload.html:31
+msgid "Requirements for part import"
+msgstr ""
+
+#: part/templates/part/import_wizard/part_upload.html:33
+msgid "The part import file must contain the required named columns as provided in the "
+msgstr ""
+
+#: part/templates/part/import_wizard/part_upload.html:33
+msgid "Part Import Template"
+msgstr ""
+
+#: part/templates/part/import_wizard/part_upload.html:89
+msgid "Download Part Import Template"
+msgstr ""
+
+#: part/templates/part/import_wizard/part_upload.html:92
+#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343
+#: templates/js/translated/order.js:129 templates/js/translated/tables.js:189
+msgid "Format"
+msgstr ""
+
+#: part/templates/part/import_wizard/part_upload.html:93
+#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344
+#: templates/js/translated/order.js:130
+msgid "Select file format"
+msgstr ""
+
+#: part/templates/part/part_app_base.html:12
+msgid "Part List"
+msgstr ""
+
+#: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29
+msgid "You are subscribed to notifications for this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:33
+msgid "Subscribe to notifications for this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:52
+#: stock/templates/stock/item_base.html:62
+#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143
+msgid "Print Label"
+msgstr ""
+
+#: part/templates/part/part_base.html:58
+msgid "Show pricing information"
+msgstr ""
+
+#: part/templates/part/part_base.html:63
+#: stock/templates/stock/item_base.html:110
+#: stock/templates/stock/location.html:83
+msgid "Stock actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:70
+msgid "Count part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:76
+msgid "Transfer part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293
+msgid "Part actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:94
+msgid "Duplicate part"
+msgstr ""
+
+#: part/templates/part/part_base.html:97
+msgid "Edit part"
+msgstr ""
+
+#: part/templates/part/part_base.html:100
+msgid "Delete part"
+msgstr ""
+
+#: part/templates/part/part_base.html:119
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:123
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/part_base.html:127
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/part_base.html:131
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:135
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/part_base.html:139
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/part_base.html:145
+msgid "Part is not active"
+msgstr ""
+
+#: part/templates/part/part_base.html:153
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/part_base.html:163
+#: part/templates/part/part_base.html:681
+msgid "Show Part Details"
+msgstr ""
+
+#: part/templates/part/part_base.html:218
+#: stock/templates/stock/item_base.html:388
+msgid "Allocated to Build Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:227
+#: stock/templates/stock/item_base.html:381
+msgid "Allocated to Sales Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1219
+msgid "Can Build"
+msgstr ""
+
+#: part/templates/part/part_base.html:291
+msgid "Minimum stock level"
+msgstr ""
+
+#: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071
+#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444
+#: templates/js/translated/pricing.js:391
+#: templates/js/translated/pricing.js:1054
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:352
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/part_base.html:356
+#: stock/templates/stock/item_base.html:322
+msgid "Search for serial number"
+msgstr ""
+
+#: part/templates/part/part_base.html:444
+msgid "Part QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:461
+msgid "Link Barcode to Part"
+msgstr ""
+
+#: part/templates/part/part_base.html:511
+msgid "Calculate"
+msgstr ""
+
+#: part/templates/part/part_base.html:528
+msgid "Remove associated image from this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:579
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:675
+msgid "Hide Part Details"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:76
+#: part/templates/part/prices.html:227 templates/js/translated/pricing.js:485
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:26
+#: part/templates/part/part_pricing.html:52
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:40
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:90
+#: part/templates/part/prices.html:250
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:66
+msgid "Unit Purchase Price"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:72
+msgid "Total Purchase Price"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:83
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:92
+msgid "Internal Price"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:123
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/part_scheduling.html:14
+msgid "Scheduled Quantity"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:11
+msgid "Variants"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:14
+#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/search.html:153
+#: templates/InvenTree/settings/sidebar.html:51
+#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146
+#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059
+#: templates/js/translated/stock.js:2070 templates/navbar.html:31
+msgid "Stock"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:39
+msgid "Pricing"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:44
+msgid "Scheduling"
+msgstr ""
+
+#: part/templates/part/part_sidebar.html:54
+msgid "Test Templates"
+msgstr ""
+
+#: part/templates/part/part_thumb.html:11
+msgid "Select from existing images"
+msgstr ""
+
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
+msgstr ""
+
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:17
+msgid "Override Part Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:18
+#: templates/InvenTree/settings/settings_staff_js.html:80
+#: templates/InvenTree/settings/user.html:24
+#: templates/js/translated/helpers.js:100
+#: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3
+#: templates/notes_buttons.html:4
+msgid "Edit"
+msgstr ""
+
+#: part/templates/part/prices.html:28 stock/admin.py:252
+#: stock/templates/stock/item_base.html:446
+#: templates/js/translated/company.js:1703
+#: templates/js/translated/company.js:1713
+#: templates/js/translated/stock.js:2246
+msgid "Last Updated"
+msgstr ""
+
+#: part/templates/part/prices.html:37 part/templates/part/prices.html:127
+msgid "Price Category"
+msgstr ""
+
+#: part/templates/part/prices.html:38 part/templates/part/prices.html:128
+msgid "Minimum"
+msgstr ""
+
+#: part/templates/part/prices.html:39 part/templates/part/prices.html:129
+msgid "Maximum"
+msgstr ""
+
+#: part/templates/part/prices.html:51 part/templates/part/prices.html:174
+msgid "Internal Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:206
+msgid "Purchase History"
+msgstr ""
+
+#: part/templates/part/prices.html:98 part/templates/part/prices.html:274
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:106
+msgid "Pricing Overrides"
+msgstr ""
+
+#: part/templates/part/prices.html:113
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:149 part/templates/part/prices.html:326
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:157
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:164
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:175 part/templates/part/prices.html:207
+#: part/templates/part/prices.html:228 part/templates/part/prices.html:251
+#: part/templates/part/prices.html:275 part/templates/part/prices.html:298
+#: part/templates/part/prices.html:327
+msgid "Jump to overview"
+msgstr ""
+
+#: part/templates/part/prices.html:180
+msgid "Add Internal Price Break"
+msgstr ""
+
+#: part/templates/part/prices.html:297
+msgid "Sale Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:303
+msgid "Add Sell Price Break"
+msgstr ""
+
+#: part/templates/part/pricing_javascript.html:24
+msgid "Update Pricing"
+msgstr ""
+
+#: part/templates/part/stock_count.html:7
+#: templates/js/translated/model_renderers.js:227
+#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2143
+msgid "No Stock"
+msgstr ""
+
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120
+msgid "Low Stock"
+msgstr ""
+
+#: part/templates/part/upload_bom.html:8
+msgid "Return to BOM"
+msgstr ""
+
+#: part/templates/part/upload_bom.html:13
+msgid "Upload Bill of Materials"
+msgstr ""
+
+#: part/templates/part/upload_bom.html:19
+msgid "BOM upload requirements"
+msgstr ""
+
+#: part/templates/part/upload_bom.html:23
+#: part/templates/part/upload_bom.html:90
+msgid "Upload BOM File"
+msgstr ""
+
+#: part/templates/part/upload_bom.html:29
+msgid "Submit BOM Data"
+msgstr ""
+
+#: part/templates/part/upload_bom.html:37
+msgid "Requirements for BOM upload"
+msgstr ""
+
+#: part/templates/part/upload_bom.html:39
+msgid "The BOM file must contain the required named columns as provided in the "
+msgstr ""
+
+#: part/templates/part/upload_bom.html:39
+msgid "BOM Upload Template"
+msgstr ""
+
+#: part/templates/part/upload_bom.html:40
+msgid "Each part must already exist in the database"
+msgstr ""
+
+#: part/templates/part/variant_part.html:9
+msgid "Create new part variant"
+msgstr ""
+
+#: part/templates/part/variant_part.html:10
+msgid "Create a new variant part from this template"
+msgstr ""
+
+#: part/views.py:111
+msgid "Match References"
+msgstr ""
+
+#: part/views.py:275
+#, python-brace-format
+msgid "Can't import part {new_part.name} because there is no category assigned"
+msgstr ""
+
+#: part/views.py:425
+msgid "Select Part Image"
+msgstr ""
+
+#: part/views.py:448
+msgid "Updated part image"
+msgstr ""
+
+#: part/views.py:451
+msgid "Part image not found"
+msgstr ""
+
+#: part/views.py:545
+msgid "Part Pricing"
+msgstr ""
+
+#: plugin/api.py:170
+msgid "Plugin cannot be deleted as it is currently active"
+msgstr ""
+
+#: plugin/base/action/api.py:32
+msgid "No action specified"
+msgstr ""
+
+#: plugin/base/action/api.py:41
+msgid "No matching action found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:124 plugin/base/barcodes/api.py:328
+#: plugin/base/barcodes/api.py:503
+msgid "No match found for barcode data"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:128
+msgid "Match found for barcode data"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:154
+#: templates/js/translated/purchase_order.js:1406
+msgid "Barcode matches existing item"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:293
+msgid "No matching part data found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:310
+msgid "No matching supplier parts found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:314
+msgid "Multiple matching supplier parts found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:338
+msgid "Matched supplier part"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:387
+msgid "Item has already been received"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:424
+msgid "No match for supplier barcode"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:467
+msgid "Multiple matching line items found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:470
+msgid "No matching line item found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:508 plugin/base/barcodes/api.py:515
+msgid "Barcode does not match an existing stock item"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:526
+msgid "Stock item does not match line item"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589
+#: templates/js/translated/sales_order.js:1953
+msgid "Insufficient stock available"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:559
+msgid "Stock item allocated to sales order"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:563
+msgid "Not enough information"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:147 plugin/base/barcodes/mixins.py:179
+msgid "Found multiple matching supplier parts for barcode"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:197
+#, python-brace-format
+msgid "Found multiple purchase orders matching '{order}'"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:201
+#, python-brace-format
+msgid "No matching purchase order for '{order}'"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:206
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:440
+msgid "Failed to find pending line item for supplier part"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:471
+msgid "Further information required to receive line item"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:479
+msgid "Received purchase order line item"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:21
+msgid "Scanned barcode data"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:81
+msgid "Purchase Order to allocate items against"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:87
+msgid "Purchase order is not pending"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:105
+msgid "PurchaseOrder to receive items against"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:111
+msgid "Purchase order has not been placed"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:119
+msgid "Location to receive items into"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:125
+msgid "Cannot select a structural location"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:139
+msgid "Sales Order to allocate items against"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:145
+msgid "Sales order is not pending"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:153
+msgid "Sales order line item to allocate items against"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:160
+msgid "Sales order shipment to allocate items against"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:166
+msgid "Shipment has already been delivered"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:171
+msgid "Quantity to allocate"
+msgstr ""
+
+#: plugin/base/label/label.py:39 templates/js/translated/label.js:155
+msgid "Label printing failed"
+msgstr ""
+
+#: plugin/base/label/mixins.py:56
+msgid "Error rendering label to PDF"
+msgstr ""
+
+#: plugin/base/label/mixins.py:70
+msgid "Error rendering label to HTML"
+msgstr ""
+
+#: plugin/base/label/mixins.py:151
+msgid "No items provided to print"
+msgstr ""
+
+#: plugin/builtin/barcodes/inventree_barcode.py:25
+msgid "InvenTree Barcodes"
+msgstr ""
+
+#: plugin/builtin/barcodes/inventree_barcode.py:26
+msgid "Provides native support for barcodes"
+msgstr ""
+
+#: plugin/builtin/barcodes/inventree_barcode.py:28
+#: plugin/builtin/integration/core_notifications.py:35
+#: plugin/builtin/integration/currency_exchange.py:21
+#: plugin/builtin/labels/inventree_label.py:22
+#: plugin/builtin/labels/inventree_machine.py:64
+#: plugin/builtin/labels/label_sheet.py:63
+#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21
+#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:34
+msgid "InvenTree Notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:36
+msgid "Integrated outgoing notification methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:41
+#: plugin/builtin/integration/core_notifications.py:80
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:42
+#: plugin/builtin/integration/core_notifications.py:81
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Enable slack notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:49
+msgid "Allow sending of slack channel messages for event notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:55
+msgid "Slack incoming webhook url"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:56
+msgid "URL that is used to send messages to a slack channel"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:164
+msgid "Open link"
+msgstr ""
+
+#: plugin/builtin/integration/currency_exchange.py:22
+msgid "InvenTree Currency Exchange"
+msgstr ""
+
+#: plugin/builtin/integration/currency_exchange.py:23
+msgid "Default currency exchange integration"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_label.py:19
+msgid "InvenTree PDF label printer"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_label.py:20
+msgid "Provides native support for printing PDF labels"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_label.py:28
+msgid "Debug mode"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_label.py:29
+msgid "Enable debug mode - returns raw HTML instead of PDF"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_machine.py:61
+msgid "InvenTree machine label printer"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_machine.py:62
+msgid "Provides support for printing using a machine"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_machine.py:151
+msgid "last used"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_machine.py:168
+msgid "Options"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:29
+msgid "Page size for the label sheet"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:34
+msgid "Skip Labels"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:35
+msgid "Skip this number of labels when printing label sheets"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:41
+msgid "Border"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:42
+msgid "Print a border around each label"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:47 report/models.py:307
+msgid "Landscape"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:48
+msgid "Print the label sheet in landscape mode"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:60
+msgid "InvenTree Label Sheet Printer"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:61
+msgid "Arrays multiple labels onto a single sheet"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:99
+msgid "Label is too large for page size"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:133
+msgid "No labels were generated"
+msgstr ""
+
+#: plugin/builtin/suppliers/digikey.py:16
+msgid "Supplier Integration - DigiKey"
+msgstr ""
+
+#: plugin/builtin/suppliers/digikey.py:17
+msgid "Provides support for scanning DigiKey barcodes"
+msgstr ""
+
+#: plugin/builtin/suppliers/digikey.py:26
+msgid "The Supplier which acts as 'DigiKey'"
+msgstr ""
+
+#: plugin/builtin/suppliers/lcsc.py:18
+msgid "Supplier Integration - LCSC"
+msgstr ""
+
+#: plugin/builtin/suppliers/lcsc.py:19
+msgid "Provides support for scanning LCSC barcodes"
+msgstr ""
+
+#: plugin/builtin/suppliers/lcsc.py:27
+msgid "The Supplier which acts as 'LCSC'"
+msgstr ""
+
+#: plugin/builtin/suppliers/mouser.py:16
+msgid "Supplier Integration - Mouser"
+msgstr ""
+
+#: plugin/builtin/suppliers/mouser.py:17
+msgid "Provides support for scanning Mouser barcodes"
+msgstr ""
+
+#: plugin/builtin/suppliers/mouser.py:25
+msgid "The Supplier which acts as 'Mouser'"
+msgstr ""
+
+#: plugin/builtin/suppliers/tme.py:18
+msgid "Supplier Integration - TME"
+msgstr ""
+
+#: plugin/builtin/suppliers/tme.py:19
+msgid "Provides support for scanning TME barcodes"
+msgstr ""
+
+#: plugin/builtin/suppliers/tme.py:27
+msgid "The Supplier which acts as 'TME'"
+msgstr ""
+
+#: plugin/installer.py:194 plugin/installer.py:282
+msgid "Only staff users can administer plugins"
+msgstr ""
+
+#: plugin/installer.py:197
+msgid "Plugin installation is disabled"
+msgstr ""
+
+#: plugin/installer.py:248
+msgid "Installed plugin successfully"
+msgstr ""
+
+#: plugin/installer.py:254
+#, python-brace-format
+msgid "Installed plugin into {path}"
+msgstr ""
+
+#: plugin/installer.py:273
+msgid "Plugin was not found in registry"
+msgstr ""
+
+#: plugin/installer.py:276
+msgid "Plugin is not a packaged plugin"
+msgstr ""
+
+#: plugin/installer.py:279
+msgid "Plugin package name not found"
+msgstr ""
+
+#: plugin/installer.py:299
+msgid "Plugin uninstalling is disabled"
+msgstr ""
+
+#: plugin/installer.py:303
+msgid "Plugin cannot be uninstalled as it is currently active"
+msgstr ""
+
+#: plugin/installer.py:316
+msgid "Uninstalled plugin successfully"
+msgstr ""
+
+#: plugin/models.py:36
+msgid "Plugin Configuration"
+msgstr ""
+
+#: plugin/models.py:37
+msgid "Plugin Configurations"
+msgstr ""
+
+#: plugin/models.py:43 users/models.py:100
+msgid "Key"
+msgstr ""
+
+#: plugin/models.py:44
+msgid "Key of plugin"
+msgstr ""
+
+#: plugin/models.py:52
+msgid "PluginName of the plugin"
+msgstr ""
+
+#: plugin/models.py:59 plugin/serializers.py:90
+msgid "Package Name"
+msgstr ""
+
+#: plugin/models.py:61
+msgid "Name of the installed package, if the plugin was installed via PIP"
+msgstr ""
+
+#: plugin/models.py:66
+msgid "Is the plugin active"
+msgstr ""
+
+#: plugin/models.py:157 templates/js/translated/table_filters.js:370
+#: templates/js/translated/table_filters.js:504
+msgid "Installed"
+msgstr ""
+
+#: plugin/models.py:166
+msgid "Sample plugin"
+msgstr ""
+
+#: plugin/models.py:174
+msgid "Builtin Plugin"
+msgstr ""
+
+#: plugin/models.py:182
+msgid "Package Plugin"
+msgstr ""
+
+#: plugin/models.py:220 report/models.py:474
+#: templates/InvenTree/settings/plugin_settings.html:9
+#: templates/js/translated/plugin.js:51
+msgid "Plugin"
+msgstr ""
+
+#: plugin/models.py:267
+msgid "Method"
+msgstr ""
+
+#: plugin/plugin.py:270
+msgid "No author found"
+msgstr ""
+
+#: plugin/registry.py:597
+#, python-brace-format
+msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
+msgstr ""
+
+#: plugin/registry.py:600
+#, python-brace-format
+msgid "Plugin requires at least version {v}"
+msgstr ""
+
+#: plugin/registry.py:602
+#, python-brace-format
+msgid "Plugin requires at most version {v}"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:52
+msgid "Enable PO"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:53
+msgid "Enable PO functionality in InvenTree interface"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:58
+msgid "API Key"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:59
+msgid "Key required for accessing external API"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:63
+msgid "Numerical"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:64
+msgid "A numerical setting"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:69
+msgid "Choice Setting"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:70
+msgid "A setting with multiple choices"
+msgstr ""
+
+#: plugin/samples/integration/sample_currency_exchange.py:15
+msgid "Sample currency exchange plugin"
+msgstr ""
+
+#: plugin/samples/integration/sample_currency_exchange.py:18
+msgid "InvenTree Contributors"
+msgstr ""
+
+#: plugin/serializers.py:81
+msgid "Source URL"
+msgstr ""
+
+#: plugin/serializers.py:83
+msgid "Source for the package - this can be a custom registry or a VCS path"
+msgstr ""
+
+#: plugin/serializers.py:92
+msgid "Name for the Plugin Package - can also contain a version indicator"
+msgstr ""
+
+#: plugin/serializers.py:99
+#: templates/InvenTree/settings/plugin_settings.html:42
+#: templates/js/translated/plugin.js:86
+msgid "Version"
+msgstr ""
+
+#: plugin/serializers.py:101
+msgid "Version specifier for the plugin. Leave blank for latest version."
+msgstr ""
+
+#: plugin/serializers.py:106
+msgid "Confirm plugin installation"
+msgstr ""
+
+#: plugin/serializers.py:108
+msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
+msgstr ""
+
+#: plugin/serializers.py:121
+msgid "Installation not confirmed"
+msgstr ""
+
+#: plugin/serializers.py:123
+msgid "Either packagename of URL must be provided"
+msgstr ""
+
+#: plugin/serializers.py:161
+msgid "Full reload"
+msgstr ""
+
+#: plugin/serializers.py:162
+msgid "Perform a full reload of the plugin registry"
+msgstr ""
+
+#: plugin/serializers.py:168
+msgid "Force reload"
+msgstr ""
+
+#: plugin/serializers.py:170
+msgid "Force a reload of the plugin registry, even if it is already loaded"
+msgstr ""
+
+#: plugin/serializers.py:177
+msgid "Collect plugins"
+msgstr ""
+
+#: plugin/serializers.py:178
+msgid "Collect plugins and add them to the registry"
+msgstr ""
+
+#: plugin/serializers.py:205
+msgid "Activate Plugin"
+msgstr ""
+
+#: plugin/serializers.py:206
+msgid "Activate this plugin"
+msgstr ""
+
+#: plugin/serializers.py:226
+msgid "Delete configuration"
+msgstr ""
+
+#: plugin/serializers.py:227
+msgid "Delete the plugin configuration from the database"
+msgstr ""
+
+#: report/api.py:88
+msgid "No valid objects provided to template"
+msgstr ""
+
+#: report/api.py:100 report/serializers.py:53
+msgid "Model Type"
+msgstr ""
+
+#: report/api.py:103 report/models.py:438 report/serializers.py:98
+#: report/serializers.py:148 templates/js/translated/purchase_order.js:1747
+#: templates/js/translated/return_order.js:353
+#: templates/js/translated/sales_order.js:887
+#: templates/js/translated/sales_order.js:1047
+msgid "Items"
+msgstr ""
+
+#: report/api.py:180
+msgid "Plugin not found"
+msgstr ""
+
+#: report/api.py:182
+msgid "Plugin is not active"
+msgstr ""
+
+#: report/api.py:184
+msgid "Plugin does not support label printing"
+msgstr ""
+
+#: report/api.py:233
+msgid "Invalid label dimensions"
+msgstr ""
+
+#: report/api.py:248 report/api.py:329
+msgid "No valid items provided to template"
+msgstr ""
+
+#: report/api.py:283
+msgid "Error printing label"
+msgstr ""
+
+#: report/api.py:375 report/api.py:411
+#, python-brace-format
+msgid "Template file '{template}' is missing or does not exist"
+msgstr ""
+
+#: report/helpers.py:41
+msgid "A4"
+msgstr ""
+
+#: report/helpers.py:42
+msgid "A3"
+msgstr ""
+
+#: report/helpers.py:43
+msgid "Legal"
+msgstr ""
+
+#: report/helpers.py:44
+msgid "Letter"
+msgstr ""
+
+#: report/models.py:118
+msgid "Template file with this name already exists"
+msgstr ""
+
+#: report/models.py:150
+msgid "Template name"
+msgstr ""
+
+#: report/models.py:156
+msgid "Template description"
+msgstr ""
+
+#: report/models.py:162
+msgid "Revision number (auto-increments)"
+msgstr ""
+
+#: report/models.py:202
+msgid "Filename Pattern"
+msgstr ""
+
+#: report/models.py:203
+msgid "Pattern for generating filenames"
+msgstr ""
+
+#: report/models.py:208
+msgid "Template is enabled"
+msgstr ""
+
+#: report/models.py:214
+msgid "Target model type for template"
+msgstr ""
+
+#: report/models.py:234
+msgid "Filters"
+msgstr ""
+
+#: report/models.py:235
+msgid "Template query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: report/models.py:294 report/models.py:361
+msgid "Template file"
+msgstr ""
+
+#: report/models.py:302
+msgid "Page size for PDF reports"
+msgstr ""
+
+#: report/models.py:308
+msgid "Render report in landscape orientation"
+msgstr ""
+
+#: report/models.py:367
+msgid "Width [mm]"
+msgstr ""
+
+#: report/models.py:368
+msgid "Label width, specified in mm"
+msgstr ""
+
+#: report/models.py:374
+msgid "Height [mm]"
+msgstr ""
+
+#: report/models.py:375
+msgid "Label height, specified in mm"
+msgstr ""
+
+#: report/models.py:438
+msgid "Number of items to process"
+msgstr ""
+
+#: report/models.py:444
+msgid "Report generation is complete"
+msgstr ""
+
+#: report/models.py:448 templates/js/translated/build.js:2177
+msgid "Progress"
+msgstr ""
+
+#: report/models.py:448
+msgid "Report generation progress"
+msgstr ""
+
+#: report/models.py:456
+msgid "Report Template"
+msgstr ""
+
+#: report/models.py:463 report/models.py:486
+msgid "Output File"
+msgstr ""
+
+#: report/models.py:464 report/models.py:487
+msgid "Generated output file"
+msgstr ""
+
+#: report/models.py:475
+msgid "Label output plugin"
+msgstr ""
+
+#: report/models.py:479
+msgid "Label Template"
+msgstr ""
+
+#: report/models.py:502
+msgid "Snippet"
+msgstr ""
+
+#: report/models.py:503
+msgid "Report snippet file"
+msgstr ""
+
+#: report/models.py:510
+msgid "Snippet file description"
+msgstr ""
+
+#: report/models.py:528
+msgid "Asset"
+msgstr ""
+
+#: report/models.py:529
+msgid "Report asset file"
+msgstr ""
+
+#: report/models.py:536
+msgid "Asset file description"
+msgstr ""
+
+#: report/serializers.py:91
+msgid "Select report template"
+msgstr ""
+
+#: report/serializers.py:99 report/serializers.py:149
+msgid "List of item primary keys to include in the report"
+msgstr ""
+
+#: report/serializers.py:132
+msgid "Select label template"
+msgstr ""
+
+#: report/serializers.py:140
+msgid "Printing Plugin"
+msgstr ""
+
+#: report/serializers.py:141
+msgid "Select plugin to use for label printing"
+msgstr ""
+
+#: report/templates/label/part_label.html:31
+#: report/templates/label/stockitem_qr.html:21
+#: report/templates/label/stocklocation_qr.html:20
+#: templates/allauth_2fa/setup.html:18
+msgid "QR Code"
+msgstr ""
+
+#: report/templates/label/part_label_code128.html:31
+#: report/templates/label/stocklocation_qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
+#: report/templates/report/inventree_bill_of_materials_report.html:133
+msgid "Materials needed"
+msgstr ""
+
+#: report/templates/report/inventree_build_order_report.html:146
+msgid "Required For"
+msgstr ""
+
+#: report/templates/report/inventree_purchase_order_report.html:15
+msgid "Supplier was deleted"
+msgstr ""
+
+#: report/templates/report/inventree_purchase_order_report.html:30
+#: report/templates/report/inventree_sales_order_report.html:30
+#: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527
+#: templates/js/translated/pricing.js:596
+#: templates/js/translated/pricing.js:834
+#: templates/js/translated/purchase_order.js:2115
+#: templates/js/translated/sales_order.js:1873
+msgid "Unit Price"
+msgstr ""
+
+#: report/templates/report/inventree_purchase_order_report.html:55
+#: report/templates/report/inventree_return_order_report.html:48
+#: report/templates/report/inventree_sales_order_report.html:55
+msgid "Extra Line Items"
+msgstr ""
+
+#: report/templates/report/inventree_purchase_order_report.html:72
+#: report/templates/report/inventree_sales_order_report.html:72
+#: templates/js/translated/purchase_order.js:2017
+#: templates/js/translated/sales_order.js:1842
+msgid "Total"
+msgstr ""
+
+#: report/templates/report/inventree_return_order_report.html:25
+#: report/templates/report/inventree_test_report.html:88 stock/models.py:826
+#: stock/serializers.py:150 stock/templates/stock/item_base.html:311
+#: templates/js/translated/build.js:519 templates/js/translated/build.js:1367
+#: templates/js/translated/build.js:2355
+#: templates/js/translated/model_renderers.js:230
+#: templates/js/translated/return_order.js:539
+#: templates/js/translated/return_order.js:723
+#: templates/js/translated/sales_order.js:315
+#: templates/js/translated/sales_order.js:1647
+#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/stock.js:596
+msgid "Serial Number"
+msgstr ""
+
+#: report/templates/report/inventree_stock_location_report.html:97
+msgid "Stock location items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:21
+msgid "Stock Item Test Report"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:97
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:102
+#: templates/js/translated/stock.js:1495
+msgid "Test"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:103 stock/models.py:2428
+msgid "Result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:130
+msgid "Pass"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:132
+msgid "Fail"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:139
+msgid "No result (required)"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:141
+msgid "No result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:154
+#: stock/templates/stock/stock_sidebar.html:16
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report.html:168 stock/admin.py:162
+#: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871
+#: templates/js/translated/stock.js:3110
+msgid "Serial"
+msgstr ""
+
+#: report/templatetags/report.py:96
+msgid "Asset file does not exist"
+msgstr ""
+
+#: report/templatetags/report.py:152 report/templatetags/report.py:217
+msgid "Image file not found"
+msgstr ""
+
+#: report/templatetags/report.py:242
+msgid "part_image tag requires a Part instance"
+msgstr ""
+
+#: report/templatetags/report.py:283
+msgid "company_image tag requires a Company instance"
+msgstr ""
+
+#: stock/admin.py:52 stock/admin.py:172
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:54 stock/admin.py:176
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:64 stock/templates/stock/location.html:131
+#: stock/templates/stock/location.html:137
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:149
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:168
+msgid "Status Code"
+msgstr ""
+
+#: stock/admin.py:180
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:185
+msgid "Supplier Part SKU"
+msgstr ""
+
+#: stock/admin.py:190
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:196
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:201
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:206 stock/models.py:806
+#: stock/templates/stock/item_base.html:354
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:211
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:221
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:226
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:241
+msgid "Review Needed"
+msgstr ""
+
+#: stock/admin.py:246
+msgid "Delete on Deplete"
+msgstr ""
+
+#: stock/admin.py:261 stock/models.py:900
+#: stock/templates/stock/item_base.html:433
+#: templates/js/translated/stock.js:2230 users/models.py:124
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:318
+msgid "Filter by location depth"
+msgstr ""
+
+#: stock/api.py:338
+msgid "Include sub-locations in filtered results"
+msgstr ""
+
+#: stock/api.py:359
+msgid "Parent Location"
+msgstr ""
+
+#: stock/api.py:360
+msgid "Filter by parent location"
+msgstr ""
+
+#: stock/api.py:615 templates/js/translated/table_filters.js:427
+msgid "External Location"
+msgstr ""
+
+#: stock/api.py:803
+msgid "Part Tree"
+msgstr ""
+
+#: stock/api.py:833
+msgid "Expiry date before"
+msgstr ""
+
+#: stock/api.py:837
+msgid "Expiry date after"
+msgstr ""
+
+#: stock/api.py:840 stock/templates/stock/item_base.html:439
+#: templates/js/translated/table_filters.js:441
+msgid "Stale"
+msgstr ""
+
+#: stock/api.py:927
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/api.py:933
+msgid "Valid part must be supplied"
+msgstr ""
+
+#: stock/api.py:964
+msgid "The given supplier part does not exist"
+msgstr ""
+
+#: stock/api.py:974
+msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
+msgstr ""
+
+#: stock/api.py:1005
+msgid "Serial numbers cannot be supplied for a non-trackable part"
+msgstr ""
+
+#: stock/models.py:59
+msgid "Stock Location type"
+msgstr ""
+
+#: stock/models.py:60
+msgid "Stock Location types"
+msgstr ""
+
+#: stock/models.py:86
+msgid "Default icon for all locations that have no icon set (optional)"
+msgstr ""
+
+#: stock/models.py:123 stock/models.py:788
+#: stock/templates/stock/location.html:17
+#: stock/templates/stock/stock_app_base.html:8
+msgid "Stock Location"
+msgstr ""
+
+#: stock/models.py:124 stock/templates/stock/location.html:186
+#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
+#: users/models.py:205
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:166 stock/models.py:949
+#: stock/templates/stock/item_base.html:247
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:167 stock/models.py:950
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:175
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:182 templates/js/translated/stock.js:2781
+#: templates/js/translated/table_filters.js:243
+msgid "External"
+msgstr ""
+
+#: stock/models.py:183
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:189 templates/js/translated/stock.js:2790
+#: templates/js/translated/table_filters.js:246
+msgid "Location type"
+msgstr ""
+
+#: stock/models.py:193
+msgid "Stock location type of this location"
+msgstr ""
+
+#: stock/models.py:262
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:643
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:670 stock/serializers.py:422
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:687
+#, python-brace-format
+msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
+msgstr ""
+
+#: stock/models.py:697 stock/models.py:710
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:700
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:724
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:729
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:742
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:758
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:770
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:780
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:792
+msgid "Where is this stock item located?"
+msgstr ""
+
+#: stock/models.py:800 stock/serializers.py:1483
+msgid "Packaging this stock item is stored in"
+msgstr ""
+
+#: stock/models.py:811
+msgid "Is this item installed in another item?"
+msgstr ""
+
+#: stock/models.py:830
+msgid "Serial number for this item"
+msgstr ""
+
+#: stock/models.py:844 stock/serializers.py:1466
+msgid "Batch code for this stock item"
+msgstr ""
+
+#: stock/models.py:849
+msgid "Stock Quantity"
+msgstr ""
+
+#: stock/models.py:859
+msgid "Source Build"
+msgstr ""
+
+#: stock/models.py:862
+msgid "Build for this stock item"
+msgstr ""
+
+#: stock/models.py:869 stock/templates/stock/item_base.html:363
+msgid "Consumed By"
+msgstr ""
+
+#: stock/models.py:872
+msgid "Build order which consumed this stock item"
+msgstr ""
+
+#: stock/models.py:881
+msgid "Source Purchase Order"
+msgstr ""
+
+#: stock/models.py:885
+msgid "Purchase order for this stock item"
+msgstr ""
+
+#: stock/models.py:891
+msgid "Destination Sales Order"
+msgstr ""
+
+#: stock/models.py:902
+msgid "Expiry date for stock item. Stock will be considered expired after this date"
+msgstr ""
+
+#: stock/models.py:920
+msgid "Delete on deplete"
+msgstr ""
+
+#: stock/models.py:921
+msgid "Delete this Stock Item when stock is depleted"
+msgstr ""
+
+#: stock/models.py:941
+msgid "Single unit purchase price at time of purchase"
+msgstr ""
+
+#: stock/models.py:972
+msgid "Converted to part"
+msgstr ""
+
+#: stock/models.py:1490
+msgid "Part is not set as trackable"
+msgstr ""
+
+#: stock/models.py:1496
+msgid "Quantity must be integer"
+msgstr ""
+
+#: stock/models.py:1504
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({self.quantity})"
+msgstr ""
+
+#: stock/models.py:1510
+msgid "Serial numbers must be a list of integers"
+msgstr ""
+
+#: stock/models.py:1515
+msgid "Quantity does not match serial numbers"
+msgstr ""
+
+#: stock/models.py:1523 stock/serializers.py:661
+msgid "Serial numbers already exist"
+msgstr ""
+
+#: stock/models.py:1620
+msgid "Test template does not exist"
+msgstr ""
+
+#: stock/models.py:1638
+msgid "Stock item has been assigned to a sales order"
+msgstr ""
+
+#: stock/models.py:1642
+msgid "Stock item is installed in another item"
+msgstr ""
+
+#: stock/models.py:1645
+msgid "Stock item contains other items"
+msgstr ""
+
+#: stock/models.py:1648
+msgid "Stock item has been assigned to a customer"
+msgstr ""
+
+#: stock/models.py:1651
+msgid "Stock item is currently in production"
+msgstr ""
+
+#: stock/models.py:1654
+msgid "Serialized stock cannot be merged"
+msgstr ""
+
+#: stock/models.py:1661 stock/serializers.py:1372
+msgid "Duplicate stock items"
+msgstr ""
+
+#: stock/models.py:1665
+msgid "Stock items must refer to the same part"
+msgstr ""
+
+#: stock/models.py:1673
+msgid "Stock items must refer to the same supplier part"
+msgstr ""
+
+#: stock/models.py:1678
+msgid "Stock status codes must match"
+msgstr ""
+
+#: stock/models.py:1905
+msgid "StockItem cannot be moved as it is not in stock"
+msgstr ""
+
+#: stock/models.py:2326
+msgid "Entry notes"
+msgstr ""
+
+#: stock/models.py:2394
+msgid "Value must be provided for this test"
+msgstr ""
+
+#: stock/models.py:2399
+msgid "Attachment must be uploaded for this test"
+msgstr ""
+
+#: stock/models.py:2404
+msgid "Invalid value for this test"
+msgstr ""
+
+#: stock/models.py:2428
+msgid "Test result"
+msgstr ""
+
+#: stock/models.py:2435
+msgid "Test output value"
+msgstr ""
+
+#: stock/models.py:2443
+msgid "Test result attachment"
+msgstr ""
+
+#: stock/models.py:2447
+msgid "Test notes"
+msgstr ""
+
+#: stock/models.py:2455 templates/js/translated/stock.js:1548
+msgid "Test station"
+msgstr ""
+
+#: stock/models.py:2456
+msgid "The identifier of the test station where the test was performed"
+msgstr ""
+
+#: stock/models.py:2462
+msgid "Started"
+msgstr ""
+
+#: stock/models.py:2463
+msgid "The timestamp of the test start"
+msgstr ""
+
+#: stock/models.py:2469
+msgid "Finished"
+msgstr ""
+
+#: stock/models.py:2470
+msgid "The timestamp of the test finish"
+msgstr ""
+
+#: stock/serializers.py:75
+msgid "Generated batch code"
+msgstr ""
+
+#: stock/serializers.py:84
+msgid "Select build order"
+msgstr ""
+
+#: stock/serializers.py:93
+msgid "Select stock item to generate batch code for"
+msgstr ""
+
+#: stock/serializers.py:102
+msgid "Select location to generate batch code for"
+msgstr ""
+
+#: stock/serializers.py:111
+msgid "Select part to generate batch code for"
+msgstr ""
+
+#: stock/serializers.py:120
+msgid "Select purchase order"
+msgstr ""
+
+#: stock/serializers.py:127
+msgid "Enter quantity for batch code"
+msgstr ""
+
+#: stock/serializers.py:150
+msgid "Generated serial number"
+msgstr ""
+
+#: stock/serializers.py:159
+msgid "Select part to generate serial number for"
+msgstr ""
+
+#: stock/serializers.py:167
+msgid "Quantity of serial numbers to generate"
+msgstr ""
+
+#: stock/serializers.py:229
+msgid "Test template for this result"
+msgstr ""
+
+#: stock/serializers.py:248
+msgid "Template ID or test name must be provided"
+msgstr ""
+
+#: stock/serializers.py:280
+msgid "The test finished time cannot be earlier than the test started time"
+msgstr ""
+
+#: stock/serializers.py:316
+msgid "Serial number is too large"
+msgstr ""
+
+#: stock/serializers.py:414
+msgid "Use pack size when adding: the quantity defined is the number of packs"
+msgstr ""
+
+#: stock/serializers.py:534
+msgid "Purchase price of this stock item, per unit or pack"
+msgstr ""
+
+#: stock/serializers.py:596
+msgid "Enter number of stock items to serialize"
+msgstr ""
+
+#: stock/serializers.py:609
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:616
+msgid "Enter serial numbers for new items"
+msgstr ""
+
+#: stock/serializers.py:627 stock/serializers.py:1329 stock/serializers.py:1585
+msgid "Destination stock location"
+msgstr ""
+
+#: stock/serializers.py:634
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:644
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:699
+msgid "Select stock item to install"
+msgstr ""
+
+#: stock/serializers.py:706
+msgid "Quantity to Install"
+msgstr ""
+
+#: stock/serializers.py:707
+msgid "Enter the quantity of items to install"
+msgstr ""
+
+#: stock/serializers.py:712 stock/serializers.py:792 stock/serializers.py:888
+#: stock/serializers.py:938
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:720
+msgid "Quantity to install must be at least 1"
+msgstr ""
+
+#: stock/serializers.py:728
+msgid "Stock item is unavailable"
+msgstr ""
+
+#: stock/serializers.py:739
+msgid "Selected part is not in the Bill of Materials"
+msgstr ""
+
+#: stock/serializers.py:752
+msgid "Quantity to install must not exceed available quantity"
+msgstr ""
+
+#: stock/serializers.py:787
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:822
+msgid "Select part to convert stock item into"
+msgstr ""
+
+#: stock/serializers.py:835
+msgid "Selected part is not a valid option for conversion"
+msgstr ""
+
+#: stock/serializers.py:852
+msgid "Cannot convert stock item with assigned SupplierPart"
+msgstr ""
+
+#: stock/serializers.py:883
+msgid "Destination location for returned item"
+msgstr ""
+
+#: stock/serializers.py:920
+msgid "Select stock items to change status"
+msgstr ""
+
+#: stock/serializers.py:926
+msgid "No stock items selected"
+msgstr ""
+
+#: stock/serializers.py:1022 stock/serializers.py:1085
+#: stock/templates/stock/location.html:165
+#: stock/templates/stock/location.html:220
+#: stock/templates/stock/location_sidebar.html:5
+msgid "Sublocations"
+msgstr ""
+
+#: stock/serializers.py:1201
+msgid "Part must be salable"
+msgstr ""
+
+#: stock/serializers.py:1205
+msgid "Item is allocated to a sales order"
+msgstr ""
+
+#: stock/serializers.py:1209
+msgid "Item is allocated to a build order"
+msgstr ""
+
+#: stock/serializers.py:1233
+msgid "Customer to assign stock items"
+msgstr ""
+
+#: stock/serializers.py:1239
+msgid "Selected company is not a customer"
+msgstr ""
+
+#: stock/serializers.py:1247
+msgid "Stock assignment notes"
+msgstr ""
+
+#: stock/serializers.py:1257 stock/serializers.py:1511
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/serializers.py:1336
+msgid "Stock merging notes"
+msgstr ""
+
+#: stock/serializers.py:1341
+msgid "Allow mismatched suppliers"
+msgstr ""
+
+#: stock/serializers.py:1342
+msgid "Allow stock items with different supplier parts to be merged"
+msgstr ""
+
+#: stock/serializers.py:1347
+msgid "Allow mismatched status"
+msgstr ""
+
+#: stock/serializers.py:1348
+msgid "Allow stock items with different status codes to be merged"
+msgstr ""
+
+#: stock/serializers.py:1358
+msgid "At least two stock items must be provided"
+msgstr ""
+
+#: stock/serializers.py:1425
+msgid "No Change"
+msgstr ""
+
+#: stock/serializers.py:1454
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:1473
+msgid "Stock item status code"
+msgstr ""
+
+#: stock/serializers.py:1501
+msgid "Stock transaction notes"
+msgstr ""
+
+#: stock/status_codes.py:11
+msgid "OK"
+msgstr ""
+
+#: stock/status_codes.py:12
+msgid "Attention needed"
+msgstr ""
+
+#: stock/status_codes.py:13
+msgid "Damaged"
+msgstr ""
+
+#: stock/status_codes.py:14
+msgid "Destroyed"
+msgstr ""
+
+#: stock/status_codes.py:15
+msgid "Rejected"
+msgstr ""
+
+#: stock/status_codes.py:19
+msgid "Quarantined"
+msgstr ""
+
+#: stock/status_codes.py:40
+msgid "Legacy stock tracking entry"
+msgstr ""
+
+#: stock/status_codes.py:42 templates/js/translated/stock.js:544
+msgid "Stock item created"
+msgstr ""
+
+#: stock/status_codes.py:45
+msgid "Edited stock item"
+msgstr ""
+
+#: stock/status_codes.py:46
+msgid "Assigned serial number"
+msgstr ""
+
+#: stock/status_codes.py:49
+msgid "Stock counted"
+msgstr ""
+
+#: stock/status_codes.py:50
+msgid "Stock manually added"
+msgstr ""
+
+#: stock/status_codes.py:51
+msgid "Stock manually removed"
+msgstr ""
+
+#: stock/status_codes.py:54
+msgid "Location changed"
+msgstr ""
+
+#: stock/status_codes.py:55
+msgid "Stock updated"
+msgstr ""
+
+#: stock/status_codes.py:58
+msgid "Installed into assembly"
+msgstr ""
+
+#: stock/status_codes.py:59
+msgid "Removed from assembly"
+msgstr ""
+
+#: stock/status_codes.py:61
+msgid "Installed component item"
+msgstr ""
+
+#: stock/status_codes.py:62
+msgid "Removed component item"
+msgstr ""
+
+#: stock/status_codes.py:65
+msgid "Split from parent item"
+msgstr ""
+
+#: stock/status_codes.py:66
+msgid "Split child item"
+msgstr ""
+
+#: stock/status_codes.py:69 templates/js/translated/stock.js:1858
+msgid "Merged stock items"
+msgstr ""
+
+#: stock/status_codes.py:72
+msgid "Converted to variant"
+msgstr ""
+
+#: stock/status_codes.py:75
+msgid "Build order output created"
+msgstr ""
+
+#: stock/status_codes.py:76
+msgid "Build order output completed"
+msgstr ""
+
+#: stock/status_codes.py:77
+msgid "Build order output rejected"
+msgstr ""
+
+#: stock/status_codes.py:78 templates/js/translated/stock.js:1764
+msgid "Consumed by build order"
+msgstr ""
+
+#: stock/status_codes.py:81
+msgid "Shipped against Sales Order"
+msgstr ""
+
+#: stock/status_codes.py:84
+msgid "Received against Purchase Order"
+msgstr ""
+
+#: stock/status_codes.py:87
+msgid "Returned against Return Order"
+msgstr ""
+
+#: stock/status_codes.py:90 templates/js/translated/table_filters.js:375
+msgid "Sent to customer"
+msgstr ""
+
+#: stock/status_codes.py:91
+msgid "Returned from customer"
+msgstr ""
+
+#: stock/templates/stock/item.html:17
+msgid "Stock Tracking Information"
+msgstr ""
+
+#: stock/templates/stock/item.html:63
+msgid "Child Stock Items"
+msgstr ""
+
+#: stock/templates/stock/item.html:72
+msgid "This stock item does not have any child items"
+msgstr ""
+
+#: stock/templates/stock/item.html:81
+#: stock/templates/stock/stock_sidebar.html:12
+msgid "Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65
+msgid "Test Report"
+msgstr ""
+
+#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:93
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/item.html:125
+msgid "Stock Item Notes"
+msgstr ""
+
+#: stock/templates/stock/item.html:140
+msgid "Installed Stock Items"
+msgstr ""
+
+#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:274
+msgid "Delete all test results for this stock item"
+msgstr ""
+
+#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1701
+msgid "Add Test Result"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:33
+msgid "Locate stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:51
+msgid "Scan to Location"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:59
+#: stock/templates/stock/location.html:70
+#: templates/js/translated/filters.js:431
+msgid "Printing actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:75
+msgid "Stock adjustment actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:79
+#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1824
+msgid "Count stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:81
+#: templates/js/translated/stock.js:1806
+msgid "Add stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:82
+#: templates/js/translated/stock.js:1815
+msgid "Remove stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:85
+msgid "Serialize stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:88
+#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1833
+msgid "Transfer stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:91
+#: templates/js/translated/stock.js:1887
+msgid "Assign to customer"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:94
+msgid "Return to stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:97
+msgid "Uninstall stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:97
+msgid "Uninstall"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:101
+msgid "Install stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:101
+msgid "Install"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:115
+msgid "Convert to variant"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:118
+msgid "Duplicate stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:120
+msgid "Edit stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:123
+msgid "Delete stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139
+#: templates/js/translated/build.js:2123 templates/navbar.html:38
+msgid "Build"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:193
+msgid "Parent Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:211
+msgid "No manufacturer set"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:251
+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:252
+#: stock/templates/stock/location.html:149
+msgid "Read only"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:265
+msgid "This stock item is unavailable"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:271
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:272
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:287
+msgid "This stock item is allocated to Sales Order"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:295
+msgid "This stock item is allocated to Build Order"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:311
+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:317
+msgid "previous page"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:317
+msgid "Navigate to previous serial number"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:326
+msgid "next page"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:326
+msgid "Navigate to next serial number"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:340
+msgid "Available Quantity"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:398
+#: templates/js/translated/build.js:2380
+msgid "No location set"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:413
+msgid "Tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:419
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:437
+#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:437
+#: templates/js/translated/table_filters.js:435 users/models.py:174
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:439
+#, python-format
+msgid "This StockItem expires on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:455
+msgid "No stocktake performed"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:504
+#: templates/js/translated/stock.js:1952
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:527
+msgid "Edit Stock Status"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:536
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:547
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:611
+msgid "Select one of the part variants listed below."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:614
+msgid "Warning"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:615
+msgid "This action cannot be easily undone"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:623
+msgid "Convert Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:657
+msgid "Return to Stock"
+msgstr ""
+
+#: stock/templates/stock/item_serialize.html:5
+msgid "Create serialized items from this stock item."
+msgstr ""
+
+#: stock/templates/stock/item_serialize.html:7
+msgid "Select quantity to serialize, and unique serial numbers."
+msgstr ""
+
+#: stock/templates/stock/location.html:38
+msgid "Perform stocktake for this stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:45
+msgid "Locate stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:63
+msgid "Scan stock items into this location"
+msgstr ""
+
+#: stock/templates/stock/location.html:63
+msgid "Scan In Stock Items"
+msgstr ""
+
+#: stock/templates/stock/location.html:64
+msgid "Scan stock container into this location"
+msgstr ""
+
+#: stock/templates/stock/location.html:64
+msgid "Scan In Container"
+msgstr ""
+
+#: stock/templates/stock/location.html:75
+msgid "Print Location Report"
+msgstr ""
+
+#: stock/templates/stock/location.html:104
+msgid "Location actions"
+msgstr ""
+
+#: stock/templates/stock/location.html:106
+msgid "Edit location"
+msgstr ""
+
+#: stock/templates/stock/location.html:108
+msgid "Delete location"
+msgstr ""
+
+#: stock/templates/stock/location.html:138
+msgid "Top level stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:144
+msgid "Location Owner"
+msgstr ""
+
+#: stock/templates/stock/location.html:148
+msgid "You are not in the list of owners of this location. This stock location cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:176
+msgid "Location Type"
+msgstr ""
+
+#: stock/templates/stock/location.html:224
+msgid "Create new stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:225
+msgid "New Location"
+msgstr ""
+
+#: stock/templates/stock/location.html:295
+#: templates/js/translated/stock.js:2572
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:317
+msgid "Scanned stock container into this location"
+msgstr ""
+
+#: stock/templates/stock/location.html:390
+msgid "Stock Location QR Code"
+msgstr ""
+
+#: stock/templates/stock/location.html:401
+msgid "Link Barcode to Stock Location"
+msgstr ""
+
+#: stock/templates/stock/stock_app_base.html:16
+msgid "Loading..."
+msgstr ""
+
+#: stock/templates/stock/stock_sidebar.html:5
+msgid "Stock Tracking"
+msgstr ""
+
+#: stock/templates/stock/stock_sidebar.html:8
+msgid "Allocations"
+msgstr ""
+
+#: stock/templates/stock/stock_sidebar.html:20
+msgid "Child Items"
+msgstr ""
+
+#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7
+msgid "Permission Denied"
+msgstr ""
+
+#: templates/403.html:15
+msgid "You do not have permission to view this page."
+msgstr ""
+
+#: templates/403_csrf.html:11
+msgid "Authentication Failure"
+msgstr ""
+
+#: templates/403_csrf.html:14
+msgid "You have been logged out from InvenTree."
+msgstr ""
+
+#: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29
+#: templates/navbar.html:150
+msgid "Login"
+msgstr ""
+
+#: templates/404.html:6 templates/404.html:12
+msgid "Page Not Found"
+msgstr ""
+
+#: templates/404.html:15
+msgid "The requested page does not exist"
+msgstr ""
+
+#: templates/500.html:6 templates/500.html:12
+msgid "Internal Server Error"
+msgstr ""
+
+#: templates/500.html:15
+#, python-format
+msgid "The %(inventree_title)s server raised an internal error"
+msgstr ""
+
+#: templates/500.html:16
+msgid "Refer to the error log in the admin interface for further details"
+msgstr ""
+
+#: templates/503.html:11 templates/503.html:33
+msgid "Site is in Maintenance"
+msgstr ""
+
+#: templates/503.html:39
+msgid "The site is currently in maintenance and should be up again soon!"
+msgstr ""
+
+#: templates/InvenTree/index.html:7
+msgid "Index"
+msgstr ""
+
+#: templates/InvenTree/index.html:39
+msgid "Subscribed Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:52
+msgid "Subscribed Categories"
+msgstr ""
+
+#: templates/InvenTree/index.html:62
+msgid "Latest Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:77
+msgid "BOM Waiting Validation"
+msgstr ""
+
+#: templates/InvenTree/index.html:106
+msgid "Recently Updated"
+msgstr ""
+
+#: templates/InvenTree/index.html:134
+msgid "Depleted Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:148
+msgid "Required for Build Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:156
+msgid "Expired Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:172
+msgid "Stale Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:199
+msgid "Build Orders In Progress"
+msgstr ""
+
+#: templates/InvenTree/index.html:210
+msgid "Overdue Build Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:230
+msgid "Outstanding Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:241
+msgid "Overdue Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:262
+msgid "Outstanding Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:273
+msgid "Overdue Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:299
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:301
+msgid "Current News"
+msgstr ""
+
+#: templates/InvenTree/notifications/history.html:9
+msgid "Notification History"
+msgstr ""
+
+#: templates/InvenTree/notifications/history.html:13
+#: templates/InvenTree/notifications/history.html:14
+#: templates/InvenTree/notifications/notifications.html:75
+msgid "Delete Notifications"
+msgstr ""
+
+#: templates/InvenTree/notifications/inbox.html:9
+msgid "Pending Notifications"
+msgstr ""
+
+#: templates/InvenTree/notifications/inbox.html:13
+#: templates/InvenTree/notifications/inbox.html:14
+msgid "Mark all as read"
+msgstr ""
+
+#: templates/InvenTree/notifications/notifications.html:10
+#: templates/InvenTree/notifications/sidebar.html:5
+#: templates/InvenTree/settings/sidebar.html:17
+#: templates/InvenTree/settings/sidebar.html:37 templates/notifications.html:5
+msgid "Notifications"
+msgstr ""
+
+#: templates/InvenTree/notifications/notifications.html:38
+msgid "No unread notifications found"
+msgstr ""
+
+#: templates/InvenTree/notifications/notifications.html:58
+msgid "No notification history found"
+msgstr ""
+
+#: templates/InvenTree/notifications/notifications.html:65
+msgid "Delete all read notifications"
+msgstr ""
+
+#: templates/InvenTree/notifications/notifications.html:89
+#: templates/js/translated/notification.js:85
+msgid "Delete Notification"
+msgstr ""
+
+#: templates/InvenTree/notifications/sidebar.html:8
+msgid "Inbox"
+msgstr ""
+
+#: templates/InvenTree/notifications/sidebar.html:10
+msgid "History"
+msgstr ""
+
+#: templates/InvenTree/search.html:8
+msgid "Search Results"
+msgstr ""
+
+#: templates/InvenTree/settings/barcode.html:8
+msgid "Barcode Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/build.html:8
+msgid "Build Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:7
+msgid "Category Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:8
+msgid "Server Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/label.html:8
+#: templates/InvenTree/settings/user_labels.html:9
+msgid "Label Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:8
+msgid "Login Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:15
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
+msgid "Signup"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:36
+msgid "Single Sign On"
+msgstr ""
+
+#: templates/InvenTree/settings/mixins/settings.html:5
+#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/mixins/urls.html:5
+msgid "URLs"
+msgstr ""
+
+#: templates/InvenTree/settings/mixins/urls.html:8
+#, python-format
+msgid "The Base-URL for this plugin is <a href=\"/%(base)s\" target=\"_blank\"><strong>%(base)s</strong></a>."
+msgstr ""
+
+#: templates/InvenTree/settings/mixins/urls.html:14
+msgid "URL"
+msgstr ""
+
+#: templates/InvenTree/settings/mixins/urls.html:23
+msgid "Open in new tab"
+msgstr ""
+
+#: templates/InvenTree/settings/notifications.html:9
+#: templates/InvenTree/settings/user_notifications.html:9
+msgid "Notification Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/notifications.html:18
+msgid "Slug"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:7
+msgid "Part Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:43
+msgid "Part Import"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:47
+msgid "Import Part"
+msgstr ""
+
+#: templates/InvenTree/settings/part_parameters.html:20
+msgid "Part Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:7
+msgid "Stocktake Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part_stocktake.html:25
+msgid "Stocktake Reports"
+msgstr ""
+
+#: templates/InvenTree/settings/physical_units.html:8
+#: templates/InvenTree/settings/sidebar.html:35
+msgid "Physical Units"
+msgstr ""
+
+#: templates/InvenTree/settings/physical_units.html:12
+msgid "Add Unit"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:9
+#: templates/InvenTree/settings/sidebar.html:64
+msgid "Plugin Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:15
+msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/sidebar.html:66
+msgid "Plugins"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:45
+#: templates/js/translated/plugin.js:151
+msgid "Install Plugin"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:47
+#: templates/InvenTree/settings/plugin.html:48
+#: templates/js/translated/plugin.js:224
+msgid "Reload Plugins"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:58
+msgid "External plugins are not enabled for this InvenTree installation"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:73
+msgid "Plugin Error Stack"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:82
+msgid "Stage"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:84
+#: templates/js/translated/notification.js:76
+msgid "Message"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:16
+msgid "Plugin information"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:47
+msgid "no version information supplied"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:61
+msgid "License"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:70
+msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:76
+msgid "Package information"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:82
+msgid "Installation method"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:85
+msgid "This plugin was installed as a package"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:87
+msgid "This plugin was found in a local server path"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:93
+msgid "Installation path"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:100
+#: templates/js/translated/plugin.js:68
+#: templates/js/translated/table_filters.js:496
+msgid "Builtin"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:101
+msgid "This is a builtin plugin which cannot be disabled"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/js/translated/plugin.js:72
+#: templates/js/translated/table_filters.js:500
+msgid "Sample"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:108
+msgid "This is a sample plugin"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:113
+msgid "Commit Author"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:117
+#: templates/about.html:36
+msgid "Commit Date"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:121
+#: templates/about.html:29
+msgid "Commit Hash"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:125
+msgid "Commit Message"
+msgstr ""
+
+#: templates/InvenTree/settings/po.html:7
+msgid "Purchase Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:35
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:47
+#: templates/InvenTree/settings/pricing.html:51
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:51
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/project_codes.html:8
+msgid "Project Code Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/project_codes.html:21
+#: templates/InvenTree/settings/sidebar.html:33
+msgid "Project Codes"
+msgstr ""
+
+#: templates/InvenTree/settings/project_codes.html:25
+#: templates/InvenTree/settings/settings_staff_js.html:216
+msgid "New Project Code"
+msgstr ""
+
+#: templates/InvenTree/settings/report.html:8
+#: templates/InvenTree/settings/user_reporting.html:9
+msgid "Report Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/returns.html:7
+msgid "Return Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:31
+msgid "No value set"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:46
+msgid "Edit setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_js.html:58
+msgid "Edit Plugin Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_js.html:60
+msgid "Edit Notification Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_js.html:63
+msgid "Edit Global Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_js.html:65
+msgid "Edit User Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:49
+msgid "Rate"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:81
+#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105
+#: templates/js/translated/part.js:393 templates/js/translated/pricing.js:629
+#: templates/js/translated/stock.js:245 users/models.py:411
+msgid "Delete"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:95
+msgid "Edit Custom Unit"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:110
+msgid "Delete Custom Unit"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:124
+msgid "New Custom Unit"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:140
+msgid "No project codes found"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:158
+#: templates/js/translated/build.js:2228
+msgid "group"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:175
+#: templates/InvenTree/settings/settings_staff_js.html:189
+msgid "Edit Project Code"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:176
+#: templates/InvenTree/settings/settings_staff_js.html:203
+msgid "Delete Project Code"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:285
+msgid "No category parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:308
+#: templates/js/translated/part.js:1646
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:309
+#: templates/js/translated/part.js:1647
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:326
+msgid "Edit Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:353
+msgid "Delete Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:388
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:418
+msgid "Create Part Parameter Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:440
+msgid "No stock location types found"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:461
+msgid "Location count"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:466
+#: templates/InvenTree/settings/settings_staff_js.html:480
+msgid "Edit Location Type"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:467
+msgid "Delete Location type"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:490
+msgid "Delete Location Type"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:500
+#: templates/InvenTree/settings/stock.html:38
+msgid "New Location Type"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:6
+#: templates/InvenTree/settings/user_settings.html:9
+msgid "User Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:9
+msgid "Account"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:11
+msgid "Display"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:13
+msgid "Home Page"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:15
+#: templates/js/translated/forms.js:2167 templates/js/translated/tables.js:543
+#: templates/navbar.html:107 templates/search.html:8
+#: templates/search_form.html:6 templates/search_form.html:7
+msgid "Search"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:19
+#: templates/InvenTree/settings/sidebar.html:43
+msgid "Reporting"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:24
+msgid "Global Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9
+msgid "Server"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:41
+msgid "Labels"
+msgstr ""
+
+#: templates/InvenTree/settings/sidebar.html:45
+msgid "Categories"
+msgstr ""
+
+#: templates/InvenTree/settings/so.html:7
+msgid "Sales Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:7
+msgid "Stock Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:34
+msgid "Stock Location Types"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:13
+msgid "Account Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:19
+#: templates/account/password_reset_from_key.html:4
+#: templates/account/password_reset_from_key.html:7
+msgid "Change Password"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:33
+msgid "Username"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:37
+msgid "First Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:41
+msgid "Last Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:55
+msgid "The following email addresses are associated with your account:"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:76
+msgid "Verified"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:78
+msgid "Unverified"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:80
+#: templates/js/translated/company.js:957
+msgid "Primary"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:86
+msgid "Make Primary"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:87
+msgid "Re-send Verification"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:96
+msgid "Warning:"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:97
+msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc."
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:105
+msgid "Add Email Address"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:110
+msgid "Add Email"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:120
+msgid "Multifactor"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:125
+msgid "You have these factors available:"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:135
+msgid "TOTP"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:141
+msgid "Static"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:150
+msgid "Multifactor authentication is not configured for your account"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:157
+msgid "Change factors"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:158
+msgid "Setup multifactor"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:160
+msgid "Remove multifactor"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:171
+msgid "Active Sessions"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:177
+msgid "Log out active sessions (except this one)"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:178
+msgid "Log Out Active Sessions"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:187
+msgid "<em>unknown on unknown</em>"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:188
+msgid "<em>unknown</em>"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:192
+msgid "IP Address"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:193
+msgid "Device"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:194
+msgid "Last Activity"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:207
+#, python-format
+msgid "%(time)s ago (this session)"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:209
+#, python-format
+msgid "%(time)s ago"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:223
+msgid "Do you really want to remove the selected email address?"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:9
+msgid "Display Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:29
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:39
+msgid "Select theme"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:50
+msgid "Set Theme"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:58
+msgid "Language Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:67
+msgid "Select language"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:83
+#, python-format
+msgid "%(lang_translated)s%% translated"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:85
+msgid "No translations available"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:92
+msgid "Set Language"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:95
+msgid "Some languages are not complete"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:97
+msgid "Show only sufficient"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:99
+msgid "and hidden."
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:99
+msgid "Show them too"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:106
+msgid "Help the translation efforts!"
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:107
+msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged."
+msgstr ""
+
+#: templates/InvenTree/settings/user_display.html:108
+msgid "InvenTree Translation Project"
+msgstr ""
+
+#: templates/InvenTree/settings/user_homepage.html:9
+msgid "Home Page Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_search.html:9
+msgid "Search Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/user_sso.html:9
+msgid "Single Sign On Accounts"
+msgstr ""
+
+#: templates/InvenTree/settings/user_sso.html:16
+msgid "You can sign in to your account using any of the following third party accounts:"
+msgstr ""
+
+#: templates/InvenTree/settings/user_sso.html:52
+msgid "There are no social network accounts connected to this account."
+msgstr ""
+
+#: templates/InvenTree/settings/user_sso.html:58
+msgid "Add SSO Account"
+msgstr ""
+
+#: templates/InvenTree/settings/user_sso.html:67
+msgid "Single Sign On is not enabled for this server"
+msgstr ""
+
+#: templates/about.html:9
+msgid "InvenTree Version"
+msgstr ""
+
+#: templates/about.html:14
+msgid "Development Version"
+msgstr ""
+
+#: templates/about.html:17
+msgid "Up to Date"
+msgstr ""
+
+#: templates/about.html:19
+msgid "Update Available"
+msgstr ""
+
+#: templates/about.html:43
+msgid "Commit Branch"
+msgstr ""
+
+#: templates/about.html:49
+msgid "InvenTree Documentation"
+msgstr ""
+
+#: templates/about.html:54
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:59
+msgid "Python Version"
+msgstr ""
+
+#: templates/about.html:64
+msgid "Django Version"
+msgstr ""
+
+#: templates/about.html:69
+msgid "View Code on GitHub"
+msgstr ""
+
+#: templates/about.html:74
+msgid "Credits"
+msgstr ""
+
+#: templates/about.html:79
+msgid "Mobile App"
+msgstr ""
+
+#: templates/about.html:84
+msgid "Submit Bug Report"
+msgstr ""
+
+#: templates/about.html:91 templates/clip.html:4
+#: templates/js/translated/helpers.js:589
+msgid "copy to clipboard"
+msgstr ""
+
+#: templates/about.html:91
+msgid "copy version information"
+msgstr ""
+
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
+#: templates/account/email_confirm.html:6
+#: templates/account/email_confirm.html:9
+msgid "Confirm Email Address"
+msgstr ""
+
+#: templates/account/email_confirm.html:15
+#, python-format
+msgid "Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a> is an email address for user %(user_display)s."
+msgstr ""
+
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774
+msgid "Confirm"
+msgstr ""
+
+#: templates/account/email_confirm.html:29
+#, python-format
+msgid "This email confirmation link expired or is invalid. Please <a href=\"%(email_url)s\">issue a new email confirmation request</a>."
+msgstr ""
+
+#: templates/account/login.html:6 templates/account/login.html:19
+#: templates/account/login.html:40 templates/socialaccount/login.html:5
+msgid "Sign In"
+msgstr ""
+
+#: templates/account/login.html:23
+msgid "Not a member?"
+msgstr ""
+
+#: templates/account/login.html:25 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:23
+msgid "Sign Up"
+msgstr ""
+
+#: templates/account/login.html:47
+msgid "Forgot Password?"
+msgstr ""
+
+#: templates/account/login.html:55
+msgid "or log in with"
+msgstr ""
+
+#: templates/account/logout.html:5 templates/account/logout.html:8
+#: templates/account/logout.html:20
+msgid "Sign Out"
+msgstr ""
+
+#: templates/account/logout.html:10
+msgid "Are you sure you want to sign out?"
+msgstr ""
+
+#: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35
+#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45
+msgid "Return to Site"
+msgstr ""
+
+#: templates/account/password_reset.html:5
+#: templates/account/password_reset.html:12
+msgid "Password Reset"
+msgstr ""
+
+#: templates/account/password_reset.html:18
+msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it."
+msgstr ""
+
+#: templates/account/password_reset.html:23
+msgid "Reset My Password"
+msgstr ""
+
+#: templates/account/password_reset.html:27 templates/account/signup.html:37
+msgid "This function is currently disabled. Please contact an administrator."
+msgstr ""
+
+#: templates/account/password_reset_from_key.html:7
+msgid "Bad Token"
+msgstr ""
+
+#: templates/account/password_reset_from_key.html:11
+#, python-format
+msgid "The password reset link was invalid, possibly because it has already been used.  Please request a <a href=\"%(passwd_reset_url)s\">new password reset</a>."
+msgstr ""
+
+#: templates/account/password_reset_from_key.html:18
+msgid "Change password"
+msgstr ""
+
+#: templates/account/password_reset_from_key.html:22
+msgid "Your password is now changed."
+msgstr ""
+
+#: templates/account/signup.html:13
+#, python-format
+msgid "Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
+msgstr ""
+
+#: templates/account/signup.html:28
+msgid "Use a SSO-provider for signup"
+msgstr ""
+
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:38 templates/socialaccount/signup.html:30
+msgid "Return to login page"
+msgstr ""
+
+#: templates/admin_button.html:8
+msgid "View in administration panel"
+msgstr ""
+
+#: templates/allauth_2fa/authenticate.html:5
+msgid "Two-Factor Authentication"
+msgstr ""
+
+#: templates/allauth_2fa/authenticate.html:13
+msgid "Authenticate"
+msgstr ""
+
+#: templates/allauth_2fa/backup_tokens.html:6
+msgid "Two-Factor Authentication Backup Tokens"
+msgstr ""
+
+#: templates/allauth_2fa/backup_tokens.html:17
+msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones."
+msgstr ""
+
+#: templates/allauth_2fa/backup_tokens.html:20
+msgid "No backup tokens are available. Press the button below to generate some."
+msgstr ""
+
+#: templates/allauth_2fa/backup_tokens.html:28
+msgid "Generate Tokens"
+msgstr ""
+
+#: templates/allauth_2fa/remove.html:6
+msgid "Disable Two-Factor Authentication"
+msgstr ""
+
+#: templates/allauth_2fa/remove.html:9
+msgid "Are you sure?"
+msgstr ""
+
+#: templates/allauth_2fa/remove.html:17
+msgid "Disable 2FA"
+msgstr ""
+
+#: templates/allauth_2fa/setup.html:6
+msgid "Setup Two-Factor Authentication"
+msgstr ""
+
+#: templates/allauth_2fa/setup.html:10
+msgid "Step 1"
+msgstr ""
+
+#: templates/allauth_2fa/setup.html:14
+msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)."
+msgstr ""
+
+#: templates/allauth_2fa/setup.html:20
+msgid "Secret: "
+msgstr ""
+
+#: templates/allauth_2fa/setup.html:24
+msgid "Step 2"
+msgstr ""
+
+#: templates/allauth_2fa/setup.html:28
+msgid "Input a token generated by the app:"
+msgstr ""
+
+#: templates/allauth_2fa/setup.html:38
+msgid "Verify"
+msgstr ""
+
+#: templates/attachment_button.html:4 templates/js/translated/attachment.js:70
+msgid "Add Link"
+msgstr ""
+
+#: templates/attachment_button.html:7 templates/js/translated/attachment.js:48
+msgid "Add Attachment"
+msgstr ""
+
+#: templates/barcode_data.html:5
+msgid "Barcode Identifier"
+msgstr ""
+
+#: templates/base.html:103
+msgid "Server Restart Required"
+msgstr ""
+
+#: templates/base.html:106
+msgid "A configuration option has been changed which requires a server restart"
+msgstr ""
+
+#: templates/base.html:106 templates/base.html:116
+msgid "Contact your system administrator for further information"
+msgstr ""
+
+#: templates/base.html:113
+msgid "Pending Database Migrations"
+msgstr ""
+
+#: templates/base.html:116
+msgid "There are pending database migrations which require attention"
+msgstr ""
+
+#: templates/email/build_order_completed.html:9
+#: templates/email/canceled_order_assigned.html:9
+#: templates/email/new_order_assigned.html:9
+#: templates/email/overdue_build_order.html:9
+#: templates/email/overdue_purchase_order.html:9
+#: templates/email/overdue_sales_order.html:9
+#: templates/email/purchase_order_received.html:9
+#: templates/email/return_order_received.html:9
+msgid "Click on the following link to view this order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:7
+msgid "Stock is required for the following build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:8
+#, python-format
+msgid "Build order %(build)s - building %(quantity)s x %(part)s"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:10
+msgid "Click on the following link to view this build order"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:14
+msgid "The following parts are low on required stock"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:18
+#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556
+msgid "Required Quantity"
+msgstr ""
+
+#: templates/email/build_order_required_stock.html:38
+#: templates/email/low_stock_notification.html:30
+msgid "You are receiving this email because you are subscribed to notifications for this part "
+msgstr ""
+
+#: templates/email/low_stock_notification.html:9
+msgid "Click on the following link to view this part"
+msgstr ""
+
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:3219
+msgid "Minimum Quantity"
+msgstr ""
+
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130
+msgid "No Response"
+msgstr ""
+
+#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/translated/api.js:232
+msgid "Error 400: Bad request"
+msgstr ""
+
+#: templates/js/translated/api.js:233
+msgid "API request returned error code 400"
+msgstr ""
+
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1140
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1141
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1145
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1146
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1150
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1151
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/translated/api.js:252
+msgid "Error 405: Method Not Allowed"
+msgstr ""
+
+#: templates/js/translated/api.js:253
+msgid "HTTP method not allowed at URL"
+msgstr ""
+
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1155
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1156
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/translated/api.js:261
+msgid "Error 503: Service Unavailable"
+msgstr ""
+
+#: templates/js/translated/api.js:262
+msgid "The server is currently unavailable"
+msgstr ""
+
+#: templates/js/translated/api.js:265
+msgid "Unhandled Error Code"
+msgstr ""
+
+#: templates/js/translated/api.js:266
+msgid "Error code"
+msgstr ""
+
+#: templates/js/translated/attachment.js:114
+msgid "All selected attachments will be deleted"
+msgstr ""
+
+#: templates/js/translated/attachment.js:129
+msgid "Delete Attachments"
+msgstr ""
+
+#: templates/js/translated/attachment.js:205
+msgid "Delete attachments"
+msgstr ""
+
+#: templates/js/translated/attachment.js:253
+msgid "Attachment actions"
+msgstr ""
+
+#: templates/js/translated/attachment.js:275
+msgid "No attachments found"
+msgstr ""
+
+#: templates/js/translated/attachment.js:315
+msgid "Edit Attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:346
+msgid "Upload Date"
+msgstr ""
+
+#: templates/js/translated/attachment.js:366
+msgid "Edit attachment"
+msgstr ""
+
+#: templates/js/translated/attachment.js:374
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/js/translated/barcode.js:43
+msgid "Scan barcode data here using barcode scanner"
+msgstr ""
+
+#: templates/js/translated/barcode.js:45
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:59
+msgid "Scan barcode using connected webcam"
+msgstr ""
+
+#: templates/js/translated/barcode.js:138
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/translated/barcode.js:139
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/translated/barcode.js:188
+msgid "Server error"
+msgstr ""
+
+#: templates/js/translated/barcode.js:217
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/translated/barcode.js:252
+#: templates/js/translated/modals.js:1120
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:372
+msgid "Scan barcode data"
+msgstr ""
+
+#: templates/js/translated/barcode.js:420 templates/navbar.html:114
+msgid "Scan Barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:458
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/translated/barcode.js:498
+msgid "This will remove the link to the associated barcode"
+msgstr ""
+
+#: templates/js/translated/barcode.js:504
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/translated/barcode.js:567 templates/js/translated/stock.js:1158
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:610
+msgid "Scan Stock Items Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:612
+msgid "Scan stock item barcode to check in to this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:615
+#: templates/js/translated/barcode.js:812
+msgid "Check In"
+msgstr ""
+
+#: templates/js/translated/barcode.js:647
+msgid "No barcode provided"
+msgstr ""
+
+#: templates/js/translated/barcode.js:687
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/translated/barcode.js:691
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:698
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:707
+msgid "Barcode does not match valid stock item"
+msgstr ""
+
+#: templates/js/translated/barcode.js:726
+msgid "Scan Stock Container Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:728
+msgid "Scan stock container barcode to check in to this location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:762
+msgid "Barcode does not match valid stock location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:806
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/translated/barcode.js:875
+#: templates/js/translated/barcode.js:884
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/translated/bom.js:78
+msgid "Create BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:132
+msgid "Display row data"
+msgstr ""
+
+#: templates/js/translated/bom.js:188
+msgid "Row Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700
+#: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628
+#: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060
+#: templates/js/translated/purchase_order.js:797 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
+msgid "Close"
+msgstr ""
+
+#: templates/js/translated/bom.js:306
+msgid "Download BOM Template"
+msgstr ""
+
+#: templates/js/translated/bom.js:351
+msgid "Multi Level BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:352
+msgid "Include BOM data for subassemblies"
+msgstr ""
+
+#: templates/js/translated/bom.js:357
+msgid "Levels"
+msgstr ""
+
+#: templates/js/translated/bom.js:358
+msgid "Select maximum number of BOM levels to export (0 = all levels)"
+msgstr ""
+
+#: templates/js/translated/bom.js:365
+msgid "Include Alternative Parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:366
+msgid "Include alternative parts in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:371
+msgid "Include Parameter Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:372
+msgid "Include part parameter data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:377
+msgid "Include Stock Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:378
+msgid "Include part stock data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:383
+msgid "Include Manufacturer Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:384
+msgid "Include part manufacturer data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:389
+msgid "Include Supplier Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:390
+msgid "Include part supplier data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:395
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:396
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:591
+msgid "Remove substitute part"
+msgstr ""
+
+#: templates/js/translated/bom.js:645
+msgid "Select and add a new substitute part using the input below"
+msgstr ""
+
+#: templates/js/translated/bom.js:656
+msgid "Are you sure you wish to remove this substitute part link?"
+msgstr ""
+
+#: templates/js/translated/bom.js:662
+msgid "Remove Substitute Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:701
+msgid "Add Substitute"
+msgstr ""
+
+#: templates/js/translated/bom.js:702
+msgid "Edit BOM Item Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:764
+msgid "All selected BOM items will be deleted"
+msgstr ""
+
+#: templates/js/translated/bom.js:780
+msgid "Delete selected BOM items?"
+msgstr ""
+
+#: templates/js/translated/bom.js:826
+msgid "Delete items"
+msgstr ""
+
+#: templates/js/translated/bom.js:936
+msgid "Load BOM for subassembly"
+msgstr ""
+
+#: templates/js/translated/bom.js:946
+msgid "Substitutes Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500
+msgid "Variant stock allowed"
+msgstr ""
+
+#: templates/js/translated/bom.js:1014
+msgid "Substitutes"
+msgstr ""
+
+#: templates/js/translated/bom.js:1139
+msgid "BOM pricing is complete"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144
+msgid "BOM pricing is incomplete"
+msgstr ""
+
+#: templates/js/translated/bom.js:1151
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621
+msgid "External stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595
+#: templates/js/translated/sales_order.js:1946
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601
+#: templates/js/translated/part.js:1257
+#: templates/js/translated/sales_order.js:1943
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586
+msgid "Consumable item"
+msgstr ""
+
+#: templates/js/translated/bom.js:1285
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:1287
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:1289
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:1291 templates/js/translated/bom.js:1486
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:1293
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:1313
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:1397
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:1683
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:142
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:190
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:222
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:231
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:237
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:244
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:296
+msgid "Build order is ready to be completed"
+msgstr ""
+
+#: templates/js/translated/build.js:304
+msgid "This build order cannot be completed as there are incomplete outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:309
+msgid "Build Order is incomplete"
+msgstr ""
+
+#: templates/js/translated/build.js:327
+msgid "Complete Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:368 templates/js/translated/stock.js:119
+#: templates/js/translated/stock.js:294
+msgid "Next available serial number"
+msgstr ""
+
+#: templates/js/translated/build.js:370 templates/js/translated/stock.js:121
+#: templates/js/translated/stock.js:296
+msgid "Latest serial number"
+msgstr ""
+
+#: templates/js/translated/build.js:379
+msgid "The Bill of Materials contains trackable parts"
+msgstr ""
+
+#: templates/js/translated/build.js:380
+msgid "Build outputs must be generated individually"
+msgstr ""
+
+#: templates/js/translated/build.js:388
+msgid "Trackable parts can have serial numbers specified"
+msgstr ""
+
+#: templates/js/translated/build.js:389
+msgid "Enter serial numbers to generate multiple single build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:396
+msgid "Create Build Output"
+msgstr ""
+
+#: templates/js/translated/build.js:427
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:435
+msgid "Deallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:444
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:452
+msgid "Scrap build output"
+msgstr ""
+
+#: templates/js/translated/build.js:459
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:479
+msgid "Are you sure you wish to deallocate the selected stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:497
+msgid "Deallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:583 templates/js/translated/build.js:711
+#: templates/js/translated/build.js:837
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:584 templates/js/translated/build.js:712
+#: templates/js/translated/build.js:838
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:598
+msgid "Selected build outputs will be marked as complete"
+msgstr ""
+
+#: templates/js/translated/build.js:602 templates/js/translated/build.js:736
+#: templates/js/translated/build.js:860
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:630
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:727
+msgid "Selected build outputs will be marked as scrapped"
+msgstr ""
+
+#: templates/js/translated/build.js:729
+msgid "Scrapped output are marked as rejected"
+msgstr ""
+
+#: templates/js/translated/build.js:730
+msgid "Allocated stock items will no longer be available"
+msgstr ""
+
+#: templates/js/translated/build.js:731
+msgid "The completion status of the build order will not be adjusted"
+msgstr ""
+
+#: templates/js/translated/build.js:762
+msgid "Scrap Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:852
+msgid "Selected build outputs will be deleted"
+msgstr ""
+
+#: templates/js/translated/build.js:854
+msgid "Build output data will be permanently deleted"
+msgstr ""
+
+#: templates/js/translated/build.js:855
+msgid "Allocated stock items will be returned to stock"
+msgstr ""
+
+#: templates/js/translated/build.js:873
+msgid "Delete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:960
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344
+msgid "Allocated Quantity"
+msgstr ""
+
+#: templates/js/translated/build.js:1005
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:1027
+msgid "Complete outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1045
+msgid "Scrap outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1063
+msgid "Delete outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1116
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:1117
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1121
+msgid "Build output actions"
+msgstr ""
+
+#: templates/js/translated/build.js:1297
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1390
+msgid "Allocated Lines"
+msgstr ""
+
+#: templates/js/translated/build.js:1404
+msgid "Required Tests"
+msgstr ""
+
+#: templates/js/translated/build.js:1576
+#: templates/js/translated/purchase_order.js:611
+#: templates/js/translated/sales_order.js:1207
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1577
+#: templates/js/translated/sales_order.js:1208
+msgid "You must select at least one part to allocate"
+msgstr ""
+
+#: templates/js/translated/build.js:1640
+#: templates/js/translated/sales_order.js:1157
+msgid "Specify stock allocation quantity"
+msgstr ""
+
+#: templates/js/translated/build.js:1717
+msgid "All Parts Allocated"
+msgstr ""
+
+#: templates/js/translated/build.js:1718
+msgid "All selected parts have been fully allocated"
+msgstr ""
+
+#: templates/js/translated/build.js:1732
+#: templates/js/translated/sales_order.js:1222
+msgid "Select source location (leave blank to take from all locations)"
+msgstr ""
+
+#: templates/js/translated/build.js:1760
+msgid "Allocate Stock Items to Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:1771
+#: templates/js/translated/sales_order.js:1319
+msgid "No matching stock locations"
+msgstr ""
+
+#: templates/js/translated/build.js:1844
+#: templates/js/translated/sales_order.js:1398
+msgid "No matching stock items"
+msgstr ""
+
+#: templates/js/translated/build.js:1941
+msgid "Automatic Stock Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1942
+msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
+msgstr ""
+
+#: templates/js/translated/build.js:1944
+msgid "If a location is specified, stock will only be allocated from that location"
+msgstr ""
+
+#: templates/js/translated/build.js:1945
+msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
+msgstr ""
+
+#: templates/js/translated/build.js:1946
+msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
+msgstr ""
+
+#: templates/js/translated/build.js:1977
+msgid "Allocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:2082
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479
+#: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179
+#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742
+#: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:2131
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:2389
+#: templates/js/translated/sales_order.js:1682
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:2390
+#: templates/js/translated/sales_order.js:1683
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:2405
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:2417
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:2455
+msgid "build line"
+msgstr ""
+
+#: templates/js/translated/build.js:2456
+msgid "build lines"
+msgstr ""
+
+#: templates/js/translated/build.js:2474
+msgid "No build lines found"
+msgstr ""
+
+#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791
+#: templates/js/translated/part.js:1203
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/build.js:2539
+msgid "Unit Quantity"
+msgstr ""
+
+#: templates/js/translated/build.js:2591
+#: templates/js/translated/sales_order.js:1951
+msgid "Sufficient stock available"
+msgstr ""
+
+#: templates/js/translated/build.js:2646
+msgid "Consumable Item"
+msgstr ""
+
+#: templates/js/translated/build.js:2653
+msgid "Tracked item"
+msgstr ""
+
+#: templates/js/translated/build.js:2654
+msgid "Allocate tracked items against individual build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:2662
+#: templates/js/translated/sales_order.js:2052
+msgid "Build stock"
+msgstr ""
+
+#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:2671
+#: templates/js/translated/sales_order.js:2046
+msgid "Allocate stock"
+msgstr ""
+
+#: templates/js/translated/build.js:2675
+msgid "Remove stock allocation"
+msgstr ""
+
+#: templates/js/translated/company.js:98
+msgid "Add Manufacturer"
+msgstr ""
+
+#: templates/js/translated/company.js:111
+#: templates/js/translated/company.js:213
+msgid "Add Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:132
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: templates/js/translated/company.js:201
+#: templates/js/translated/purchase_order.js:93
+msgid "Add Supplier"
+msgstr ""
+
+#: templates/js/translated/company.js:243
+#: templates/js/translated/purchase_order.js:318
+msgid "Add Supplier Part"
+msgstr ""
+
+#: templates/js/translated/company.js:344
+msgid "All selected supplier parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:360
+msgid "Delete Supplier Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:466
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:546
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:555
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:570
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:619
+msgid "Create New Contact"
+msgstr ""
+
+#: templates/js/translated/company.js:635
+#: templates/js/translated/company.js:758
+msgid "Edit Contact"
+msgstr ""
+
+#: templates/js/translated/company.js:672
+msgid "All selected contacts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:678
+#: templates/js/translated/company.js:742
+msgid "Role"
+msgstr ""
+
+#: templates/js/translated/company.js:686
+msgid "Delete Contacts"
+msgstr ""
+
+#: templates/js/translated/company.js:717
+msgid "No contacts found"
+msgstr ""
+
+#: templates/js/translated/company.js:730
+msgid "Phone Number"
+msgstr ""
+
+#: templates/js/translated/company.js:736
+msgid "Email Address"
+msgstr ""
+
+#: templates/js/translated/company.js:762
+msgid "Delete Contact"
+msgstr ""
+
+#: templates/js/translated/company.js:859
+msgid "Create New Address"
+msgstr ""
+
+#: templates/js/translated/company.js:874
+#: templates/js/translated/company.js:1035
+msgid "Edit Address"
+msgstr ""
+
+#: templates/js/translated/company.js:909
+msgid "All selected addresses will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:923
+msgid "Delete Addresses"
+msgstr ""
+
+#: templates/js/translated/company.js:950
+msgid "No addresses found"
+msgstr ""
+
+#: templates/js/translated/company.js:989
+msgid "Postal city"
+msgstr ""
+
+#: templates/js/translated/company.js:995
+msgid "State/province"
+msgstr ""
+
+#: templates/js/translated/company.js:1007
+msgid "Courier notes"
+msgstr ""
+
+#: templates/js/translated/company.js:1013
+msgid "Internal notes"
+msgstr ""
+
+#: templates/js/translated/company.js:1039
+msgid "Delete Address"
+msgstr ""
+
+#: templates/js/translated/company.js:1112
+msgid "All selected manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:1127
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:1161
+msgid "All selected parameters will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:1175
+msgid "Delete Parameters"
+msgstr ""
+
+#: templates/js/translated/company.js:1191
+#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245
+msgid "Order parts"
+msgstr ""
+
+#: templates/js/translated/company.js:1208
+msgid "Delete manufacturer parts"
+msgstr ""
+
+#: templates/js/translated/company.js:1240
+msgid "Manufacturer part actions"
+msgstr ""
+
+#: templates/js/translated/company.js:1259
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:1279
+#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799
+#: templates/js/translated/part.js:1211
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:1283
+#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803
+#: templates/js/translated/part.js:1215
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:1496
+msgid "Delete supplier parts"
+msgstr ""
+
+#: templates/js/translated/company.js:1546
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:1664
+msgid "Base Units"
+msgstr ""
+
+#: templates/js/translated/company.js:1694
+msgid "Availability"
+msgstr ""
+
+#: templates/js/translated/company.js:1725
+msgid "Edit supplier part"
+msgstr ""
+
+#: templates/js/translated/company.js:1726
+msgid "Delete supplier part"
+msgstr ""
+
+#: templates/js/translated/company.js:1779
+#: templates/js/translated/pricing.js:694
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1789
+#: templates/js/translated/pricing.js:712
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1804
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1833
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1840
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1841
+msgid "Delete price break"
+msgstr ""
+
+#: templates/js/translated/filters.js:186
+#: templates/js/translated/filters.js:667
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:190
+#: templates/js/translated/filters.js:668
+msgid "false"
+msgstr ""
+
+#: templates/js/translated/filters.js:214
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:437
+msgid "Print Labels"
+msgstr ""
+
+#: templates/js/translated/filters.js:441
+msgid "Print Reports"
+msgstr ""
+
+#: templates/js/translated/filters.js:453
+msgid "Download table data"
+msgstr ""
+
+#: templates/js/translated/filters.js:460
+msgid "Reload table data"
+msgstr ""
+
+#: templates/js/translated/filters.js:469
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/translated/filters.js:477
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/translated/filters.js:577
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:393
+#: templates/js/translated/forms.js:407 templates/js/translated/forms.js:421
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:380
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:395
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:409
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:423
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:800
+msgid "Keep this form open"
+msgstr ""
+
+#: templates/js/translated/forms.js:903
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1477 templates/modals.html:19
+#: templates/modals.html:43
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1975
+msgid "No results found"
+msgstr ""
+
+#: templates/js/translated/forms.js:2285 templates/js/translated/search.js:239
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:2499
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/forms.js:3101
+msgid "File Column"
+msgstr ""
+
+#: templates/js/translated/forms.js:3101
+msgid "Field Name"
+msgstr ""
+
+#: templates/js/translated/forms.js:3113
+msgid "Select Columns"
+msgstr ""
+
+#: templates/js/translated/helpers.js:77
+msgid "YES"
+msgstr ""
+
+#: templates/js/translated/helpers.js:80
+msgid "NO"
+msgstr ""
+
+#: templates/js/translated/helpers.js:93
+msgid "True"
+msgstr ""
+
+#: templates/js/translated/helpers.js:94
+msgid "False"
+msgstr ""
+
+#: templates/js/translated/index.js:104
+msgid "No parts required for builds"
+msgstr ""
+
+#: templates/js/translated/label.js:55 templates/js/translated/report.js:38
+msgid "Select Items"
+msgstr ""
+
+#: templates/js/translated/label.js:56 templates/js/translated/report.js:39
+msgid "No items selected for printing"
+msgstr ""
+
+#: templates/js/translated/label.js:150
+msgid "Labels sent to printer"
+msgstr ""
+
+#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158
+#: templates/js/translated/modals.js:683
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157
+#: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059
+#: templates/modals.html:28 templates/modals.html:51
+msgid "Submit"
+msgstr ""
+
+#: templates/js/translated/modals.js:156
+msgid "Form Title"
+msgstr ""
+
+#: templates/js/translated/modals.js:445
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/translated/modals.js:596
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/translated/modals.js:682
+msgid "Accept"
+msgstr ""
+
+#: templates/js/translated/modals.js:740
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1011
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/translated/modals.js:1011
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/translated/modals.js:1023
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1120
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/translated/modals.js:1135
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/translated/modals.js:1136
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/translated/modals.js:1159
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/translated/news.js:33
+msgid "No news found"
+msgstr ""
+
+#: templates/js/translated/news.js:38
+#: templates/js/translated/notification.js:46
+#: templates/js/translated/part.js:1605
+msgid "ID"
+msgstr ""
+
+#: templates/js/translated/notification.js:52
+msgid "Age"
+msgstr ""
+
+#: templates/js/translated/notification.js:65
+msgid "Notification"
+msgstr ""
+
+#: templates/js/translated/notification.js:224
+msgid "Mark as unread"
+msgstr ""
+
+#: templates/js/translated/notification.js:228
+msgid "Mark as read"
+msgstr ""
+
+#: templates/js/translated/notification.js:254
+msgid "No unread notifications"
+msgstr ""
+
+#: templates/js/translated/notification.js:296 templates/notifications.html:12
+msgid "Notifications will load here"
+msgstr ""
+
+#: templates/js/translated/order.js:89
+msgid "Add Extra Line Item"
+msgstr ""
+
+#: templates/js/translated/order.js:126
+msgid "Export Order"
+msgstr ""
+
+#: templates/js/translated/order.js:241
+msgid "Duplicate Line"
+msgstr ""
+
+#: templates/js/translated/order.js:255
+msgid "Edit Line"
+msgstr ""
+
+#: templates/js/translated/order.js:268
+msgid "Delete Line"
+msgstr ""
+
+#: templates/js/translated/order.js:281
+#: templates/js/translated/purchase_order.js:1990
+msgid "No line items found"
+msgstr ""
+
+#: templates/js/translated/order.js:369
+msgid "Duplicate line"
+msgstr ""
+
+#: templates/js/translated/order.js:370
+msgid "Edit line"
+msgstr ""
+
+#: templates/js/translated/order.js:374
+msgid "Delete line"
+msgstr ""
+
+#: templates/js/translated/part.js:90
+msgid "Part Attributes"
+msgstr ""
+
+#: templates/js/translated/part.js:94
+msgid "Part Creation Options"
+msgstr ""
+
+#: templates/js/translated/part.js:98
+msgid "Part Duplication Options"
+msgstr ""
+
+#: templates/js/translated/part.js:121
+msgid "Add Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:309
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175
+msgid "Icon (optional) - Explore all available icons on"
+msgstr ""
+
+#: templates/js/translated/part.js:353
+msgid "Create Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:356
+msgid "Create new category after this one"
+msgstr ""
+
+#: templates/js/translated/part.js:357
+msgid "Part category created"
+msgstr ""
+
+#: templates/js/translated/part.js:371
+msgid "Edit Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:384
+msgid "Are you sure you want to delete this part category?"
+msgstr ""
+
+#: templates/js/translated/part.js:389
+msgid "Move to parent category"
+msgstr ""
+
+#: templates/js/translated/part.js:398
+msgid "Delete Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:402
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:407
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:431
+msgid "Create Part"
+msgstr ""
+
+#: templates/js/translated/part.js:433
+msgid "Create another part after this one"
+msgstr ""
+
+#: templates/js/translated/part.js:434
+msgid "Part created successfully"
+msgstr ""
+
+#: templates/js/translated/part.js:462
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:464
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:475
+msgid "Create Part Variant"
+msgstr ""
+
+#: templates/js/translated/part.js:532
+msgid "Active Part"
+msgstr ""
+
+#: templates/js/translated/part.js:533
+msgid "Part cannot be deleted as it is currently active"
+msgstr ""
+
+#: templates/js/translated/part.js:547
+msgid "Deleting this part cannot be reversed"
+msgstr ""
+
+#: templates/js/translated/part.js:549
+msgid "Any stock items for this part will be deleted"
+msgstr ""
+
+#: templates/js/translated/part.js:550
+msgid "This part will be removed from any Bills of Material"
+msgstr ""
+
+#: templates/js/translated/part.js:551
+msgid "All manufacturer and supplier information for this part will be deleted"
+msgstr ""
+
+#: templates/js/translated/part.js:558
+msgid "Delete Part"
+msgstr ""
+
+#: templates/js/translated/part.js:594
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:596
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:601
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:603
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:620
+msgid "Validating the BOM will mark each line item as valid"
+msgstr ""
+
+#: templates/js/translated/part.js:630
+msgid "Validate Bill of Materials"
+msgstr ""
+
+#: templates/js/translated/part.js:633
+msgid "Validated Bill of Materials"
+msgstr ""
+
+#: templates/js/translated/part.js:658
+msgid "Copy Bill of Materials"
+msgstr ""
+
+#: templates/js/translated/part.js:686
+#: templates/js/translated/table_filters.js:747
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:689
+msgid "No stock available"
+msgstr ""
+
+#: templates/js/translated/part.js:749
+msgid "Demand"
+msgstr ""
+
+#: templates/js/translated/part.js:772
+msgid "Unit"
+msgstr ""
+
+#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:807
+msgid "Subscribed part"
+msgstr ""
+
+#: templates/js/translated/part.js:811
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:890
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:890
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:898
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: templates/js/translated/part.js:902
+msgid "Stocktake report scheduled"
+msgstr ""
+
+#: templates/js/translated/part.js:1051
+msgid "No stocktake information available"
+msgstr ""
+
+#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145
+msgid "Edit Stocktake Entry"
+msgstr ""
+
+#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155
+msgid "Delete Stocktake Entry"
+msgstr ""
+
+#: templates/js/translated/part.js:1282
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:1600
+msgid "No part parameter templates found"
+msgstr ""
+
+#: templates/js/translated/part.js:1663
+msgid "Edit Part Parameter Template"
+msgstr ""
+
+#: templates/js/translated/part.js:1675
+msgid "Any parameters which reference this template will also be deleted"
+msgstr ""
+
+#: templates/js/translated/part.js:1683
+msgid "Delete Part Parameter Template"
+msgstr ""
+
+#: templates/js/translated/part.js:1717
+#: templates/js/translated/purchase_order.js:1654
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/part.js:1861
+#: templates/js/translated/purchase_order.js:2153
+#: templates/js/translated/return_order.js:755
+#: templates/js/translated/sales_order.js:1911
+msgid "This line item is overdue"
+msgstr ""
+
+#: templates/js/translated/part.js:1907
+#: templates/js/translated/purchase_order.js:2220
+msgid "Receive line item"
+msgstr ""
+
+#: templates/js/translated/part.js:1970
+msgid "Delete part relationship"
+msgstr ""
+
+#: templates/js/translated/part.js:1992
+msgid "Delete Part Relationship"
+msgstr ""
+
+#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:2201
+msgid "Set the part category for the selected parts"
+msgstr ""
+
+#: templates/js/translated/part.js:2206
+msgid "Set Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:2236
+msgid "Set category"
+msgstr ""
+
+#: templates/js/translated/part.js:2287
+msgid "part"
+msgstr ""
+
+#: templates/js/translated/part.js:2288
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:2384
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661
+#: templates/js/translated/stock.js:2669
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:2547
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:2645
+msgid "No subcategories found"
+msgstr ""
+
+#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:2761
+msgid "Load Subcategories"
+msgstr ""
+
+#: templates/js/translated/part.js:2777
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:2865
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342
+msgid "results"
+msgstr ""
+
+#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457
+#: templates/js/translated/stock.js:1731
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:2942
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:2958
+msgid "Edit Test Result Template"
+msgstr ""
+
+#: templates/js/translated/part.js:2972
+msgid "Delete Test Result Template"
+msgstr ""
+
+#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052
+msgid "No date specified"
+msgstr ""
+
+#: templates/js/translated/part.js:3054
+msgid "Specified date is in the past"
+msgstr ""
+
+#: templates/js/translated/part.js:3060
+msgid "Speculative"
+msgstr ""
+
+#: templates/js/translated/part.js:3110
+msgid "No scheduling information available for this part"
+msgstr ""
+
+#: templates/js/translated/part.js:3116
+msgid "Error fetching scheduling information for this part"
+msgstr ""
+
+#: templates/js/translated/part.js:3212
+msgid "Scheduled Stock Quantities"
+msgstr ""
+
+#: templates/js/translated/part.js:3228
+msgid "Maximum Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:3273
+msgid "Minimum Stock Level"
+msgstr ""
+
+#: templates/js/translated/plugin.js:46
+msgid "No plugins found"
+msgstr ""
+
+#: templates/js/translated/plugin.js:58
+msgid "This plugin is no longer installed"
+msgstr ""
+
+#: templates/js/translated/plugin.js:60
+msgid "This plugin is active"
+msgstr ""
+
+#: templates/js/translated/plugin.js:62
+msgid "This plugin is installed but not active"
+msgstr ""
+
+#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:186
+msgid "Disable Plugin"
+msgstr ""
+
+#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:186
+msgid "Enable Plugin"
+msgstr ""
+
+#: templates/js/translated/plugin.js:158
+msgid "The Plugin was installed"
+msgstr ""
+
+#: templates/js/translated/plugin.js:177
+msgid "Are you sure you want to enable this plugin?"
+msgstr ""
+
+#: templates/js/translated/plugin.js:181
+msgid "Are you sure you want to disable this plugin?"
+msgstr ""
+
+#: templates/js/translated/plugin.js:189
+msgid "Enable"
+msgstr ""
+
+#: templates/js/translated/plugin.js:189
+msgid "Disable"
+msgstr ""
+
+#: templates/js/translated/plugin.js:203
+msgid "Plugin updated"
+msgstr ""
+
+#: templates/js/translated/pricing.js:159
+msgid "Error fetching currency data"
+msgstr ""
+
+#: templates/js/translated/pricing.js:321
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:463
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:572
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:755
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:791
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:894
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:916
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:1005
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:1045
+msgid "Variant Part"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:169
+msgid "Select purchase order to duplicate"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:176
+msgid "Duplicate Line Items"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:177
+msgid "Duplicate all line items from the selected order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:184
+msgid "Duplicate Extra Lines"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:185
+msgid "Duplicate extra line items from the selected order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:206
+msgid "Edit Purchase Order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:223
+msgid "Duplication Options"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:431
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:448
+#: templates/js/translated/return_order.js:210
+#: templates/js/translated/sales_order.js:552
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:454
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:459
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:460
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:483
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:488
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:494
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:515
+#: templates/js/translated/return_order.js:164
+msgid "After placing this order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:520
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:612
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:637
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:646
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:664
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:705
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:755
+msgid "Merge"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:859
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:878
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1073
+#: templates/js/translated/return_order.js:490
+msgid "Select Line Items"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1074
+#: templates/js/translated/return_order.js:491
+msgid "At least one line item must be selected"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1104
+msgid "Received Quantity"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1115
+msgid "Quantity to receive"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1191
+msgid "Stock Status"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1205
+msgid "Add barcode"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1206
+msgid "Remove barcode"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1209
+msgid "Specify location"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1217
+msgid "Add batch code"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1228
+msgid "Add serial numbers"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1280
+msgid "Serials"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1305
+msgid "Order Code"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1307
+msgid "Quantity to Receive"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1333
+#: templates/js/translated/return_order.js:560
+msgid "Confirm receipt of items"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1334
+msgid "Receive Purchase Order Items"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1402
+msgid "Scan Item Barcode"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1403
+msgid "Scan barcode on incoming item (must not match any existing stock items)"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1417
+msgid "Invalid barcode data"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1681
+#: templates/js/translated/return_order.js:285
+#: templates/js/translated/sales_order.js:810
+#: templates/js/translated/sales_order.js:1034
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1843
+msgid "All selected Line items will be deleted"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1861
+msgid "Delete selected Line items?"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1916
+#: templates/js/translated/sales_order.js:2106
+msgid "Duplicate Line Item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1931
+#: templates/js/translated/return_order.js:475
+#: templates/js/translated/return_order.js:668
+#: templates/js/translated/sales_order.js:2119
+msgid "Edit Line Item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1942
+#: templates/js/translated/return_order.js:681
+#: templates/js/translated/sales_order.js:2130
+msgid "Delete Line Item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:2224
+#: templates/js/translated/sales_order.js:2060
+msgid "Duplicate line item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:2225
+#: templates/js/translated/return_order.js:800
+#: templates/js/translated/sales_order.js:2061
+msgid "Edit line item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:2226
+#: templates/js/translated/return_order.js:804
+#: templates/js/translated/sales_order.js:2067
+msgid "Delete line item"
+msgstr ""
+
+#: templates/js/translated/report.js:49
+msgid "Print Report"
+msgstr ""
+
+#: templates/js/translated/report.js:68
+msgid "Report print successful"
+msgstr ""
+
+#: templates/js/translated/report.js:73
+msgid "Report printing failed"
+msgstr ""
+
+#: templates/js/translated/return_order.js:60
+#: templates/js/translated/sales_order.js:86
+msgid "Add Customer"
+msgstr ""
+
+#: templates/js/translated/return_order.js:134
+msgid "Create Return Order"
+msgstr ""
+
+#: templates/js/translated/return_order.js:149
+msgid "Edit Return Order"
+msgstr ""
+
+#: templates/js/translated/return_order.js:169
+msgid "Issue Return Order"
+msgstr ""
+
+#: templates/js/translated/return_order.js:186
+msgid "Are you sure you wish to cancel this Return Order?"
+msgstr ""
+
+#: templates/js/translated/return_order.js:193
+msgid "Cancel Return Order"
+msgstr ""
+
+#: templates/js/translated/return_order.js:218
+msgid "Complete Return Order"
+msgstr ""
+
+#: templates/js/translated/return_order.js:265
+msgid "No return orders found"
+msgstr ""
+
+#: templates/js/translated/return_order.js:299
+#: templates/js/translated/sales_order.js:824
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/return_order.js:561
+msgid "Receive Return Order Items"
+msgstr ""
+
+#: templates/js/translated/return_order.js:692
+#: templates/js/translated/sales_order.js:2267
+msgid "No matching line items"
+msgstr ""
+
+#: templates/js/translated/return_order.js:797
+msgid "Mark item as received"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:161
+msgid "Create Sales Order"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:176
+msgid "Edit Sales Order"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:291
+msgid "No stock items have been allocated to this shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:296
+msgid "The following stock items will be shipped"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:336
+msgid "Complete Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:360
+msgid "Confirm Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:416
+msgid "No pending shipments found"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:420
+msgid "No stock items have been allocated to pending shipments"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:430
+msgid "Complete Shipments"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:452
+msgid "Skip"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:484
+msgid "Ship Sales Order"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:500
+msgid "Ship this order?"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:506
+msgid "Order cannot be shipped as there are incomplete shipments"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:513
+msgid "This order has line items which have not been completed."
+msgstr ""
+
+#: templates/js/translated/sales_order.js:514
+msgid "Shipping this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/sales_order.js:572
+msgid "Issue this Sales Order?"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:577
+msgid "Issue Sales Order"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:596
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:601
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/sales_order.js:655
+msgid "Create New Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:764
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:944
+msgid "Edit shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:947
+msgid "Complete shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:952
+msgid "Delete shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:969
+msgid "Edit Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:984
+msgid "Delete Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1017
+msgid "No matching shipments found"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1042
+msgid "Shipment Reference"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1066
+#: templates/js/translated/sales_order.js:1565
+msgid "Not shipped"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1084
+msgid "Tracking"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1088
+msgid "Invoice"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1255
+msgid "Add Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1306
+msgid "Confirm stock allocation"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1307
+msgid "Allocate Stock Items to Sales Order"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1513
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1605
+msgid "Edit Stock Allocation"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1619
+msgid "Confirm Delete Operation"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1620
+msgid "Delete Stock Allocation"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1659
+#: templates/js/translated/sales_order.js:1746
+#: templates/js/translated/stock.js:1776
+msgid "Shipped to customer"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1667
+#: templates/js/translated/sales_order.js:1755
+msgid "Stock location not specified"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2044
+msgid "Allocate serial numbers"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2048
+msgid "Purchase stock"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2057
+#: templates/js/translated/sales_order.js:2245
+msgid "Calculate price"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2071
+msgid "Cannot be deleted as items have been shipped"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2074
+msgid "Cannot be deleted as items have been allocated"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2145
+msgid "Allocate Serial Numbers"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2253
+msgid "Update Unit Price"
+msgstr ""
+
+#: templates/js/translated/search.js:270
+msgid "No results"
+msgstr ""
+
+#: templates/js/translated/search.js:292 templates/search.html:25
+msgid "Enter search query"
+msgstr ""
+
+#: templates/js/translated/search.js:342
+msgid "result"
+msgstr ""
+
+#: templates/js/translated/search.js:352
+msgid "Minimize results"
+msgstr ""
+
+#: templates/js/translated/search.js:355
+msgid "Remove results"
+msgstr ""
+
+#: templates/js/translated/stock.js:98
+msgid "Serialize Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:129
+msgid "Confirm Stock Serialization"
+msgstr ""
+
+#: templates/js/translated/stock.js:139
+msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on"
+msgstr ""
+
+#: templates/js/translated/stock.js:152
+msgid "Parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:166
+msgid "Add Location type"
+msgstr ""
+
+#: templates/js/translated/stock.js:202
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:217
+msgid "New Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:219
+msgid "Create another location after this one"
+msgstr ""
+
+#: templates/js/translated/stock.js:220
+msgid "Stock location created"
+msgstr ""
+
+#: templates/js/translated/stock.js:234
+msgid "Are you sure you want to delete this stock location?"
+msgstr ""
+
+#: templates/js/translated/stock.js:241
+msgid "Move to parent stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:250
+msgid "Delete Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:254
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:259
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:313
+msgid "This part cannot be serialized"
+msgstr ""
+
+#: templates/js/translated/stock.js:349
+msgid "Add given quantity as packs instead of individual items"
+msgstr ""
+
+#: templates/js/translated/stock.js:362
+msgid "Enter initial quantity for this stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:368
+msgid "Enter serial numbers for new stock (or leave blank)"
+msgstr ""
+
+#: templates/js/translated/stock.js:439
+msgid "Stock item duplicated"
+msgstr ""
+
+#: templates/js/translated/stock.js:459
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:475
+msgid "Are you sure you want to delete this stock item?"
+msgstr ""
+
+#: templates/js/translated/stock.js:480
+msgid "Delete Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:501
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:543
+msgid "Create another item after this one"
+msgstr ""
+
+#: templates/js/translated/stock.js:555
+msgid "Created new stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:568
+msgid "Created multiple stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:593
+msgid "Find Serial Number"
+msgstr ""
+
+#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598
+msgid "Enter serial number"
+msgstr ""
+
+#: templates/js/translated/stock.js:614
+msgid "Enter a serial number"
+msgstr ""
+
+#: templates/js/translated/stock.js:634
+msgid "No matching serial number"
+msgstr ""
+
+#: templates/js/translated/stock.js:643
+msgid "More than one matching result found"
+msgstr ""
+
+#: templates/js/translated/stock.js:751
+msgid "Confirm stock assignment"
+msgstr ""
+
+#: templates/js/translated/stock.js:752
+msgid "Assign Stock to Customer"
+msgstr ""
+
+#: templates/js/translated/stock.js:829
+msgid "Warning: Merge operation cannot be reversed"
+msgstr ""
+
+#: templates/js/translated/stock.js:830
+msgid "Some information will be lost when merging stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:832
+msgid "Stock transaction history will be deleted for merged items"
+msgstr ""
+
+#: templates/js/translated/stock.js:833
+msgid "Supplier part information will be deleted for merged items"
+msgstr ""
+
+#: templates/js/translated/stock.js:928
+msgid "Confirm stock item merge"
+msgstr ""
+
+#: templates/js/translated/stock.js:929
+msgid "Merge Stock Items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1024
+msgid "Transfer Stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1025
+msgid "Move"
+msgstr ""
+
+#: templates/js/translated/stock.js:1031
+msgid "Count Stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1032
+msgid "Count"
+msgstr ""
+
+#: templates/js/translated/stock.js:1036
+msgid "Remove Stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1037
+msgid "Take"
+msgstr ""
+
+#: templates/js/translated/stock.js:1041
+msgid "Add Stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1042 users/models.py:401
+msgid "Add"
+msgstr ""
+
+#: templates/js/translated/stock.js:1046
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1146
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1146
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1181
+msgid "Select at least one available stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:1227
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1363
+msgid "PASS"
+msgstr ""
+
+#: templates/js/translated/stock.js:1365
+msgid "FAIL"
+msgstr ""
+
+#: templates/js/translated/stock.js:1370
+msgid "NO RESULT"
+msgstr ""
+
+#: templates/js/translated/stock.js:1450
+msgid "Pass test"
+msgstr ""
+
+#: templates/js/translated/stock.js:1453
+msgid "Add test result"
+msgstr ""
+
+#: templates/js/translated/stock.js:1476
+msgid "No test results found"
+msgstr ""
+
+#: templates/js/translated/stock.js:1540
+msgid "Test Date"
+msgstr ""
+
+#: templates/js/translated/stock.js:1553
+msgid "Test started"
+msgstr ""
+
+#: templates/js/translated/stock.js:1562
+msgid "Test finished"
+msgstr ""
+
+#: templates/js/translated/stock.js:1716
+msgid "Edit Test Result"
+msgstr ""
+
+#: templates/js/translated/stock.js:1736
+msgid "Delete Test Result"
+msgstr ""
+
+#: templates/js/translated/stock.js:1768
+msgid "In production"
+msgstr ""
+
+#: templates/js/translated/stock.js:1772
+msgid "Installed in Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:1780
+msgid "Assigned to Sales Order"
+msgstr ""
+
+#: templates/js/translated/stock.js:1786
+msgid "No stock location set"
+msgstr ""
+
+#: templates/js/translated/stock.js:1842
+msgid "Change stock status"
+msgstr ""
+
+#: templates/js/translated/stock.js:1851
+msgid "Merge stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1900
+msgid "Delete stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1953
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1958
+msgid "Scan to location"
+msgstr ""
+
+#: templates/js/translated/stock.js:1969
+msgid "Stock Actions"
+msgstr ""
+
+#: templates/js/translated/stock.js:2013
+msgid "Load installed items"
+msgstr ""
+
+#: templates/js/translated/stock.js:2091
+msgid "Stock item is in production"
+msgstr ""
+
+#: templates/js/translated/stock.js:2096
+msgid "Stock item assigned to sales order"
+msgstr ""
+
+#: templates/js/translated/stock.js:2099
+msgid "Stock item assigned to customer"
+msgstr ""
+
+#: templates/js/translated/stock.js:2102
+msgid "Serialized stock item has been allocated"
+msgstr ""
+
+#: templates/js/translated/stock.js:2104
+msgid "Stock item has been fully allocated"
+msgstr ""
+
+#: templates/js/translated/stock.js:2106
+msgid "Stock item has been partially allocated"
+msgstr ""
+
+#: templates/js/translated/stock.js:2109
+msgid "Stock item has been installed in another item"
+msgstr ""
+
+#: templates/js/translated/stock.js:2111
+msgid "Stock item has been consumed by a build order"
+msgstr ""
+
+#: templates/js/translated/stock.js:2115
+msgid "Stock item has expired"
+msgstr ""
+
+#: templates/js/translated/stock.js:2117
+msgid "Stock item will expire soon"
+msgstr ""
+
+#: templates/js/translated/stock.js:2122
+msgid "Stock item has been rejected"
+msgstr ""
+
+#: templates/js/translated/stock.js:2124
+msgid "Stock item is lost"
+msgstr ""
+
+#: templates/js/translated/stock.js:2126
+msgid "Stock item is destroyed"
+msgstr ""
+
+#: templates/js/translated/stock.js:2130
+#: templates/js/translated/table_filters.js:350
+msgid "Depleted"
+msgstr ""
+
+#: templates/js/translated/stock.js:2295
+msgid "Supplier part not specified"
+msgstr ""
+
+#: templates/js/translated/stock.js:2342
+msgid "Stock Value"
+msgstr ""
+
+#: templates/js/translated/stock.js:2470
+msgid "No stock items matching query"
+msgstr ""
+
+#: templates/js/translated/stock.js:2573
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2728
+msgid "Load Sublocations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2846
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:2850
+msgid "No changes"
+msgstr ""
+
+#: templates/js/translated/stock.js:2862
+msgid "Part information unavailable"
+msgstr ""
+
+#: templates/js/translated/stock.js:2884
+msgid "Location no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2901
+msgid "Build order no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2916
+msgid "Purchase order no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2933
+msgid "Sales Order no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2950
+msgid "Return Order no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2969
+msgid "Customer no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2987
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:3005
+msgid "Added"
+msgstr ""
+
+#: templates/js/translated/stock.js:3013
+msgid "Removed"
+msgstr ""
+
+#: templates/js/translated/stock.js:3085
+msgid "No installed items"
+msgstr ""
+
+#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175
+msgid "Uninstall Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:3197
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:3218
+msgid "Install another stock item into this item"
+msgstr ""
+
+#: templates/js/translated/stock.js:3219
+msgid "Stock items can only be installed if they meet the following criteria"
+msgstr ""
+
+#: templates/js/translated/stock.js:3221
+msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:3222
+msgid "The Stock Item is currently available in stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:3223
+msgid "The Stock Item is not already installed in another item"
+msgstr ""
+
+#: templates/js/translated/stock.js:3224
+msgid "The Stock Item is tracked by either a batch code or serial number"
+msgstr ""
+
+#: templates/js/translated/stock.js:3237
+msgid "Select part to install"
+msgstr ""
+
+#: templates/js/translated/stock.js:3300
+msgid "Select one or more stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:3313
+msgid "Selected stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:3317
+msgid "Change Stock Status"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:74
+msgid "Has project code"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:89
+#: templates/js/translated/table_filters.js:605
+#: templates/js/translated/table_filters.js:617
+#: templates/js/translated/table_filters.js:658
+msgid "Order status"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:622
+#: templates/js/translated/table_filters.js:648
+#: templates/js/translated/table_filters.js:663
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:102
+#: templates/js/translated/table_filters.js:528
+#: templates/js/translated/table_filters.js:630
+#: templates/js/translated/table_filters.js:671
+msgid "Assigned to me"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:158
+msgid "Trackable Part"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:162
+msgid "Assembled Part"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:166
+msgid "Has Available Stock"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:182
+msgid "Allow Variant Stock"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:234
+#: templates/js/translated/table_filters.js:345
+msgid "Include sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:235
+msgid "Include locations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:267
+msgid "Has location type"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:279
+#: templates/js/translated/table_filters.js:711
+msgid "Include subcategories"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:287
+#: templates/js/translated/table_filters.js:759
+msgid "Subscribed"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
+#: templates/js/translated/table_filters.js:380
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:301
+#: templates/js/translated/table_filters.js:387
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:302
+#: templates/js/translated/table_filters.js:388
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:305
+#: templates/js/translated/table_filters.js:391
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:306
+#: templates/js/translated/table_filters.js:392
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:309
+#: templates/js/translated/table_filters.js:310
+#: templates/js/translated/table_filters.js:383
+#: templates/js/translated/table_filters.js:384
+msgid "Serial number"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:314
+#: templates/js/translated/table_filters.js:405
+msgid "Batch code"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:325
+#: templates/js/translated/table_filters.js:700
+msgid "Active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:326
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:331
+msgid "Part is an assembly"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:335
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:336
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:341
+msgid "Stock is available for use"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:346
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:351
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:356
+msgid "Show items which are in stock"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:361
+msgid "Show items which are in production"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:365
+msgid "Include Variants"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:366
+msgid "Include stock items for variant parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:371
+msgid "Show stock items which are installed in another item"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:376
+msgid "Show items which have been assigned to a customer"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:396
+#: templates/js/translated/table_filters.js:397
+msgid "Stock status"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:400
+msgid "Has batch code"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:409
+msgid "Stock item is tracked by either batch code or serial number"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:414
+msgid "Has purchase price"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:415
+msgid "Show stock items which have a purchase price set"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:419
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:423
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:436
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:442
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:456
+msgid "Test Passed"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:460
+msgid "Include Installed Items"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:515
+msgid "Build status"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:712
+msgid "Include parts in subcategories"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:717
+msgid "Show active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:725
+msgid "Available stock"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:733
+#: templates/js/translated/table_filters.js:833
+msgid "Has Units"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:734
+msgid "Part has defined units"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:738
+msgid "Has IPN"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:739
+msgid "Part has internal part number"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:743
+msgid "In stock"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:751
+msgid "Purchasable"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:763
+msgid "Has stocktake entries"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:829
+msgid "Has Choices"
+msgstr ""
+
+#: templates/js/translated/tables.js:92
+msgid "Display calendar view"
+msgstr ""
+
+#: templates/js/translated/tables.js:102
+msgid "Display list view"
+msgstr ""
+
+#: templates/js/translated/tables.js:112
+msgid "Display tree view"
+msgstr ""
+
+#: templates/js/translated/tables.js:130
+msgid "Expand all rows"
+msgstr ""
+
+#: templates/js/translated/tables.js:136
+msgid "Collapse all rows"
+msgstr ""
+
+#: templates/js/translated/tables.js:186
+msgid "Export Table Data"
+msgstr ""
+
+#: templates/js/translated/tables.js:190
+msgid "Select File Format"
+msgstr ""
+
+#: templates/js/translated/tables.js:529
+msgid "Loading data"
+msgstr ""
+
+#: templates/js/translated/tables.js:532
+msgid "rows per page"
+msgstr ""
+
+#: templates/js/translated/tables.js:537
+msgid "Showing all rows"
+msgstr ""
+
+#: templates/js/translated/tables.js:539
+msgid "Showing"
+msgstr ""
+
+#: templates/js/translated/tables.js:539
+msgid "to"
+msgstr ""
+
+#: templates/js/translated/tables.js:539
+msgid "of"
+msgstr ""
+
+#: templates/js/translated/tables.js:539
+msgid "rows"
+msgstr ""
+
+#: templates/js/translated/tables.js:546
+msgid "No matching results"
+msgstr ""
+
+#: templates/js/translated/tables.js:549
+msgid "Hide/Show pagination"
+msgstr ""
+
+#: templates/js/translated/tables.js:555
+msgid "Toggle"
+msgstr ""
+
+#: templates/js/translated/tables.js:558
+msgid "Columns"
+msgstr ""
+
+#: templates/js/translated/tables.js:561
+msgid "All"
+msgstr ""
+
+#: templates/navbar.html:45
+msgid "Buy"
+msgstr ""
+
+#: templates/navbar.html:57
+msgid "Sell"
+msgstr ""
+
+#: templates/navbar.html:121
+msgid "Show Notifications"
+msgstr ""
+
+#: templates/navbar.html:124
+msgid "New Notifications"
+msgstr ""
+
+#: templates/navbar.html:144 users/models.py:201
+msgid "Admin"
+msgstr ""
+
+#: templates/navbar.html:148
+msgid "Logout"
+msgstr ""
+
+#: templates/notes_buttons.html:6 templates/notes_buttons.html:7
+msgid "Save"
+msgstr ""
+
+#: templates/notifications.html:9
+msgid "Show all notifications and history"
+msgstr ""
+
+#: templates/pui_banner.html:9
+msgid "Platform UI - the new UI for InvenTree - provides more modern administration options."
+msgstr ""
+
+#: templates/pui_banner.html:12
+msgid "Platform UI - the new UI for InvenTree - is ready to be tested."
+msgstr ""
+
+#: templates/pui_banner.html:15
+msgid "Try it out now"
+msgstr ""
+
+#: templates/pui_banner.html:15
+msgid "here"
+msgstr ""
+
+#: templates/qr_code.html:11
+msgid "QR data not provided"
+msgstr ""
+
+#: templates/registration/logged_out.html:7
+msgid "You were logged out successfully."
+msgstr ""
+
+#: templates/registration/logged_out.html:9
+msgid "Log in again"
+msgstr ""
+
+#: templates/search.html:9
+msgid "Show full search results"
+msgstr ""
+
+#: templates/search.html:12
+msgid "Clear search"
+msgstr ""
+
+#: templates/search.html:15
+msgid "Close search menu"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:13
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:15
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:17
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:24
+msgid "Continue"
+msgstr ""
+
+#: templates/socialaccount/login.html:29
+msgid "Invalid SSO Provider"
+msgstr ""
+
+#: templates/socialaccount/login.html:31
+msgid "The selected SSO provider is invalid, or has not been correctly configured"
+msgstr ""
+
+#: templates/socialaccount/signup.html:11
+#, python-format
+msgid "You are about to use your %(provider_name)s account to login to %(site_name)s."
+msgstr ""
+
+#: templates/socialaccount/signup.html:13
+msgid "As a final step, please complete the following form"
+msgstr ""
+
+#: templates/socialaccount/snippets/provider_list.html:26
+msgid "Provider has not been configured"
+msgstr ""
+
+#: templates/socialaccount/snippets/provider_list.html:35
+msgid "No SSO providers have been configured"
+msgstr ""
+
+#: templates/stats.html:13
+msgid "Instance Name"
+msgstr ""
+
+#: templates/stats.html:18
+msgid "Database"
+msgstr ""
+
+#: templates/stats.html:26
+msgid "Server is running in debug mode"
+msgstr ""
+
+#: templates/stats.html:33
+msgid "Docker Mode"
+msgstr ""
+
+#: templates/stats.html:34
+msgid "Server is deployed using docker"
+msgstr ""
+
+#: templates/stats.html:39
+msgid "Plugin Support"
+msgstr ""
+
+#: templates/stats.html:43
+msgid "Plugin support enabled"
+msgstr ""
+
+#: templates/stats.html:45
+msgid "Plugin support disabled"
+msgstr ""
+
+#: templates/stats.html:52
+msgid "Server status"
+msgstr ""
+
+#: templates/stats.html:55
+msgid "Healthy"
+msgstr ""
+
+#: templates/stats.html:57
+msgid "Issues detected"
+msgstr ""
+
+#: templates/stats.html:64
+msgid "Background Worker"
+msgstr ""
+
+#: templates/stats.html:67
+msgid "Background worker not running"
+msgstr ""
+
+#: templates/stats.html:75
+msgid "Email Settings"
+msgstr ""
+
+#: templates/stats.html:78
+msgid "Email settings not configured"
+msgstr ""
+
+#: templates/yesnolabel.html:4
+msgid "Yes"
+msgstr ""
+
+#: templates/yesnolabel.html:6
+msgid "No"
+msgstr ""
+
+#: users/admin.py:104
+msgid "Users"
+msgstr ""
+
+#: users/admin.py:105
+msgid "Select which users are assigned to this group"
+msgstr ""
+
+#: users/admin.py:249
+msgid "The following users are members of multiple groups"
+msgstr ""
+
+#: users/admin.py:283
+msgid "Personal info"
+msgstr ""
+
+#: users/admin.py:285
+msgid "Permissions"
+msgstr ""
+
+#: users/admin.py:288
+msgid "Important dates"
+msgstr ""
+
+#: users/authentication.py:29 users/models.py:138
+msgid "Token has been revoked"
+msgstr ""
+
+#: users/authentication.py:32
+msgid "Token has expired"
+msgstr ""
+
+#: users/models.py:81
+msgid "API Token"
+msgstr ""
+
+#: users/models.py:82
+msgid "API Tokens"
+msgstr ""
+
+#: users/models.py:118
+msgid "Token Name"
+msgstr ""
+
+#: users/models.py:119
+msgid "Custom token name"
+msgstr ""
+
+#: users/models.py:125
+msgid "Token expiry date"
+msgstr ""
+
+#: users/models.py:133
+msgid "Last Seen"
+msgstr ""
+
+#: users/models.py:134
+msgid "Last time the token was used"
+msgstr ""
+
+#: users/models.py:138
+msgid "Revoked"
+msgstr ""
+
+#: users/models.py:384
+msgid "Permission set"
+msgstr ""
+
+#: users/models.py:393
+msgid "Group"
+msgstr ""
+
+#: users/models.py:397
+msgid "View"
+msgstr ""
+
+#: users/models.py:397
+msgid "Permission to view items"
+msgstr ""
+
+#: users/models.py:401
+msgid "Permission to add items"
+msgstr ""
+
+#: users/models.py:405
+msgid "Change"
+msgstr ""
+
+#: users/models.py:407
+msgid "Permissions to edit items"
+msgstr ""
+
+#: users/models.py:413
+msgid "Permission to delete items"
+msgstr ""
diff --git a/src/frontend/.linguirc b/src/frontend/.linguirc
index be405360b5..db0ade6fbe 100644
--- a/src/frontend/.linguirc
+++ b/src/frontend/.linguirc
@@ -23,6 +23,7 @@
         "pl",
         "pt",
         "pt-br",
+        "ro",
         "ru",
         "sk",
         "sl",
diff --git a/src/frontend/src/contexts/LanguageContext.tsx b/src/frontend/src/contexts/LanguageContext.tsx
index 2f1dd35239..0036409324 100644
--- a/src/frontend/src/contexts/LanguageContext.tsx
+++ b/src/frontend/src/contexts/LanguageContext.tsx
@@ -40,6 +40,7 @@ export const getSupportedLanguages = (): Record<string, string> => {
     pl: t`Polish`,
     pt: t`Portuguese`,
     'pt-br': t`Portuguese (Brazilian)`,
+    ro: t`Romanian`,
     ru: t`Russian`,
     sk: t`Slovak`,
     sl: t`Slovenian`,