diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py
index fda59c0956..6888c30f1d 100644
--- a/InvenTree/InvenTree/settings.py
+++ b/InvenTree/InvenTree/settings.py
@@ -826,6 +826,8 @@ LANGUAGE_COOKIE_AGE = 2592000
 # If a new language translation is supported, it must be added here
 # After adding a new language, run the following command:
 # python manage.py makemessages -l <language_code> -e html,js,py --no-wrap
+# where <language_code> is the code for the new language
+# Additionally, update the /src/frontend/.linguirc file
 LANGUAGES = [
     ('bg', _('Bulgarian')),
     ('cs', _('Czech')),
@@ -851,6 +853,7 @@ LANGUAGES = [
     ('pt-br', _('Portuguese (Brazilian)')),
     ('ru', _('Russian')),
     ('sl', _('Slovenian')),
+    ('sr', _('Serbian')),
     ('sv', _('Swedish')),
     ('th', _('Thai')),
     ('tr', _('Turkish')),
diff --git a/InvenTree/locale/sr/LC_MESSAGES/django.po b/InvenTree/locale/sr/LC_MESSAGES/django.po
new file mode 100644
index 0000000000..40511be842
--- /dev/null
+++ b/InvenTree/locale/sr/LC_MESSAGES/django.po
@@ -0,0 +1,13639 @@
+# 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: 2023-12-14 22:19+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%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: InvenTree/api.py:160
+msgid "API endpoint not found"
+msgstr ""
+
+#: InvenTree/api.py:425
+msgid "User does not have permission to view this model"
+msgstr ""
+
+#: InvenTree/conversion.py:92
+msgid "No value provided"
+msgstr ""
+
+#: InvenTree/conversion.py:125
+#, python-brace-format
+msgid "Could not convert {original} to {unit}"
+msgstr ""
+
+#: InvenTree/conversion.py:127
+msgid "Invalid quantity supplied"
+msgstr ""
+
+#: InvenTree/conversion.py:141
+#, python-brace-format
+msgid "Invalid quantity supplied ({exc})"
+msgstr ""
+
+#: InvenTree/exceptions.py:89
+msgid "Error details can be found in the admin panel"
+msgstr ""
+
+#: InvenTree/fields.py:142
+msgid "Enter date"
+msgstr ""
+
+#: InvenTree/fields.py:215 InvenTree/models.py:920 build/serializers.py:433
+#: build/serializers.py:511 build/templates/build/sidebar.html:21
+#: company/models.py:733 company/templates/company/sidebar.html:37
+#: order/models.py:1138 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:40
+#: part/models.py:3003 part/templates/part/part_sidebar.html:63
+#: report/templates/report/inventree_build_order_base.html:172
+#: stock/admin.py:139 stock/models.py:2223 stock/models.py:2331
+#: stock/serializers.py:417 stock/serializers.py:580 stock/serializers.py:674
+#: stock/serializers.py:730 stock/serializers.py:1058 stock/serializers.py:1157
+#: stock/serializers.py:1318 stock/templates/stock/stock_sidebar.html:25
+#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259
+#: templates/js/translated/company.js:1674 templates/js/translated/order.js:347
+#: templates/js/translated/part.js:1080
+#: templates/js/translated/purchase_order.js:2194
+#: templates/js/translated/return_order.js:776
+#: templates/js/translated/sales_order.js:1067
+#: templates/js/translated/sales_order.js:1982
+#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398
+msgid "Notes"
+msgstr ""
+
+#: InvenTree/format.py:154
+#, python-brace-format
+msgid "Value '{name}' does not appear in pattern format"
+msgstr ""
+
+#: InvenTree/format.py:164
+msgid "Provided value does not match required pattern: "
+msgstr ""
+
+#: InvenTree/forms.py:147
+msgid "Enter password"
+msgstr ""
+
+#: InvenTree/forms.py:148
+msgid "Enter new password"
+msgstr ""
+
+#: InvenTree/forms.py:157
+msgid "Confirm password"
+msgstr ""
+
+#: InvenTree/forms.py:158
+msgid "Confirm new password"
+msgstr ""
+
+#: InvenTree/forms.py:162
+msgid "Old password"
+msgstr ""
+
+#: InvenTree/forms.py:199
+msgid "Email (again)"
+msgstr ""
+
+#: InvenTree/forms.py:203
+msgid "Email address confirmation"
+msgstr ""
+
+#: InvenTree/forms.py:224
+msgid "You must type the same email each time."
+msgstr ""
+
+#: InvenTree/forms.py:260 InvenTree/forms.py:266
+msgid "The provided primary email address is not valid."
+msgstr ""
+
+#: InvenTree/forms.py:272
+msgid "The provided email domain is not approved."
+msgstr ""
+
+#: InvenTree/forms.py:376
+msgid "Registration is disabled."
+msgstr ""
+
+#: InvenTree/helpers.py:452 order/models.py:447 order/models.py:639
+msgid "Invalid quantity provided"
+msgstr ""
+
+#: InvenTree/helpers.py:460
+msgid "Empty serial number string"
+msgstr ""
+
+#: InvenTree/helpers.py:490
+msgid "Duplicate serial"
+msgstr ""
+
+#: InvenTree/helpers.py:523 InvenTree/helpers.py:558
+#, python-brace-format
+msgid "Invalid group range: {group}"
+msgstr ""
+
+#: InvenTree/helpers.py:552
+#, python-brace-format
+msgid "Group range {group} exceeds allowed quantity ({expected_quantity})"
+msgstr ""
+
+#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598
+#, python-brace-format
+msgid "Invalid group sequence: {group}"
+msgstr ""
+
+#: InvenTree/helpers.py:608
+msgid "No serial numbers found"
+msgstr ""
+
+#: InvenTree/helpers.py:611
+msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})"
+msgstr ""
+
+#: InvenTree/helpers.py:740
+msgid "Remove HTML tags from this value"
+msgstr ""
+
+#: InvenTree/helpers_model.py:123
+msgid "Connection error"
+msgstr ""
+
+#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132
+msgid "Server responded with invalid status code"
+msgstr ""
+
+#: InvenTree/helpers_model.py:129
+msgid "Exception occurred"
+msgstr ""
+
+#: InvenTree/helpers_model.py:137
+msgid "Server responded with invalid Content-Length value"
+msgstr ""
+
+#: InvenTree/helpers_model.py:140
+msgid "Image size is too large"
+msgstr ""
+
+#: InvenTree/helpers_model.py:152
+msgid "Image download exceeded maximum size"
+msgstr ""
+
+#: InvenTree/helpers_model.py:157
+msgid "Remote server returned empty response"
+msgstr ""
+
+#: InvenTree/helpers_model.py:165
+msgid "Supplied URL is not a valid image file"
+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:123
+#: company/templates/company/company_base.html:132
+#: templates/InvenTree/settings/user.html:49
+#: templates/js/translated/company.js:667
+msgid "Email"
+msgstr ""
+
+#: InvenTree/models.py:81
+msgid "Metadata must be a python dict object"
+msgstr ""
+
+#: InvenTree/models.py:85
+msgid "Plugin Metadata"
+msgstr ""
+
+#: InvenTree/models.py:86
+msgid "JSON metadata field, for use by external plugins"
+msgstr ""
+
+#: InvenTree/models.py:312
+msgid "Improperly formatted pattern"
+msgstr ""
+
+#: InvenTree/models.py:319
+msgid "Unknown format key specified"
+msgstr ""
+
+#: InvenTree/models.py:325
+msgid "Missing required format key"
+msgstr ""
+
+#: InvenTree/models.py:336
+msgid "Reference field cannot be empty"
+msgstr ""
+
+#: InvenTree/models.py:343
+msgid "Reference must match required pattern"
+msgstr ""
+
+#: InvenTree/models.py:373
+msgid "Reference number is too large"
+msgstr ""
+
+#: InvenTree/models.py:455
+msgid "Missing file"
+msgstr ""
+
+#: InvenTree/models.py:456
+msgid "Missing external link"
+msgstr ""
+
+#: InvenTree/models.py:475 stock/models.py:2325
+#: templates/js/translated/attachment.js:119
+#: templates/js/translated/attachment.js:326
+msgid "Attachment"
+msgstr ""
+
+#: InvenTree/models.py:476
+msgid "Select file to attach"
+msgstr ""
+
+#: InvenTree/models.py:482 common/models.py:2884 company/models.py:129
+#: company/models.py:387 company/models.py:441 company/models.py:720
+#: order/models.py:235 order/models.py:1142 order/models.py:1500
+#: part/admin.py:38 part/models.py:837
+#: part/templates/part/part_scheduling.html:11
+#: report/templates/report/inventree_build_order_base.html:164
+#: stock/admin.py:138 templates/js/translated/company.js:1309
+#: templates/js/translated/company.js:1663 templates/js/translated/order.js:351
+#: templates/js/translated/part.js:2454
+#: templates/js/translated/purchase_order.js:2034
+#: templates/js/translated/purchase_order.js:2198
+#: templates/js/translated/return_order.js:780
+#: templates/js/translated/sales_order.js:1056
+#: templates/js/translated/sales_order.js:1987
+msgid "Link"
+msgstr ""
+
+#: InvenTree/models.py:483 build/models.py:307 part/models.py:838
+#: stock/models.py:769
+msgid "Link to external URL"
+msgstr ""
+
+#: InvenTree/models.py:486 templates/js/translated/attachment.js:120
+#: templates/js/translated/attachment.js:341
+msgid "Comment"
+msgstr ""
+
+#: InvenTree/models.py:486
+msgid "File comment"
+msgstr ""
+
+#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2344
+#: common/models.py:2345 common/models.py:2557 common/models.py:2558
+#: common/models.py:2814 common/models.py:2815 part/models.py:3011
+#: part/models.py:3096 part/models.py:3175 part/models.py:3195
+#: plugin/models.py:229 plugin/models.py:230
+#: report/templates/report/inventree_test_report_base.html:105
+#: templates/js/translated/stock.js:3007 users/models.py:102
+msgid "User"
+msgstr ""
+
+#: InvenTree/models.py:496
+msgid "upload date"
+msgstr ""
+
+#: InvenTree/models.py:517
+msgid "Filename must not be empty"
+msgstr ""
+
+#: InvenTree/models.py:526
+msgid "Invalid attachment directory"
+msgstr ""
+
+#: InvenTree/models.py:536
+#, python-brace-format
+msgid "Filename contains illegal character '{c}'"
+msgstr ""
+
+#: InvenTree/models.py:539
+msgid "Filename missing extension"
+msgstr ""
+
+#: InvenTree/models.py:546
+msgid "Attachment with this filename already exists"
+msgstr ""
+
+#: InvenTree/models.py:553
+msgid "Error renaming file"
+msgstr ""
+
+#: InvenTree/models.py:728
+msgid "Duplicate names cannot exist under the same parent"
+msgstr ""
+
+#: InvenTree/models.py:752
+msgid "Invalid choice"
+msgstr ""
+
+#: InvenTree/models.py:786 InvenTree/models.py:787 common/models.py:2543
+#: common/models.py:2989 company/models.py:525 label/models.py:116
+#: part/models.py:783 part/models.py:3393 plugin/models.py:42
+#: report/models.py:170 stock/models.py:71 stock/models.py:72
+#: templates/InvenTree/settings/mixins/urls.html:13
+#: templates/InvenTree/settings/notifications.html:17
+#: templates/InvenTree/settings/plugin.html:80
+#: 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:666
+#: templates/js/translated/company.js:714
+#: templates/js/translated/company.js:903
+#: templates/js/translated/company.js:1155
+#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186
+#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610
+#: templates/js/translated/part.js:2747 templates/js/translated/stock.js:2687
+msgid "Name"
+msgstr ""
+
+#: InvenTree/models.py:793 build/models.py:180
+#: build/templates/build/detail.html:24 common/models.py:126
+#: company/models.py:447 company/models.py:726
+#: company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
+#: company/templates/company/supplier_part.html:107 label/models.py:123
+#: order/models.py:227 order/models.py:1166 part/admin.py:191 part/admin.py:272
+#: part/models.py:805 part/models.py:3409 part/templates/part/category.html:82
+#: part/templates/part/part_base.html:170
+#: part/templates/part/part_scheduling.html:12 report/models.py:183
+#: report/models.py:611 report/models.py:654
+#: report/templates/report/inventree_build_order_base.html:117
+#: stock/admin.py:42 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:2127 templates/js/translated/company.js:518
+#: templates/js/translated/company.js:1320
+#: templates/js/translated/company.js:1631 templates/js/translated/index.js:119
+#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238
+#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621
+#: templates/js/translated/part.js:1956 templates/js/translated/part.js:2353
+#: templates/js/translated/part.js:2783 templates/js/translated/part.js:2871
+#: templates/js/translated/plugin.js:80
+#: templates/js/translated/purchase_order.js:1700
+#: templates/js/translated/purchase_order.js:1843
+#: templates/js/translated/purchase_order.js:2016
+#: templates/js/translated/return_order.js:314
+#: templates/js/translated/sales_order.js:802
+#: templates/js/translated/sales_order.js:1812
+#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802
+msgid "Description"
+msgstr ""
+
+#: InvenTree/models.py:794 stock/models.py:79
+msgid "Description (optional)"
+msgstr ""
+
+#: InvenTree/models.py:802
+msgid "parent"
+msgstr ""
+
+#: InvenTree/models.py:809 InvenTree/models.py:810
+#: templates/js/translated/part.js:2792 templates/js/translated/stock.js:2728
+msgid "Path"
+msgstr ""
+
+#: InvenTree/models.py:921
+msgid "Markdown notes (optional)"
+msgstr ""
+
+#: InvenTree/models.py:948
+msgid "Barcode Data"
+msgstr ""
+
+#: InvenTree/models.py:949
+msgid "Third party barcode data"
+msgstr ""
+
+#: InvenTree/models.py:954
+msgid "Barcode Hash"
+msgstr ""
+
+#: InvenTree/models.py:955
+msgid "Unique hash of barcode data"
+msgstr ""
+
+#: InvenTree/models.py:1011
+msgid "Existing barcode found"
+msgstr ""
+
+#: InvenTree/models.py:1052
+msgid "Server Error"
+msgstr ""
+
+#: InvenTree/models.py:1053
+msgid "An error has been logged by the server."
+msgstr ""
+
+#: InvenTree/serializers.py:61 part/models.py:3898
+msgid "Must be a valid number"
+msgstr ""
+
+#: InvenTree/serializers.py:90 company/models.py:151
+#: company/templates/company/company_base.html:106 part/models.py:2838
+#: templates/InvenTree/settings/settings_staff_js.html:44
+#: templates/currency_data.html:5
+msgid "Currency"
+msgstr ""
+
+#: InvenTree/serializers.py:93
+msgid "Select currency from available options"
+msgstr ""
+
+#: InvenTree/serializers.py:427
+msgid "You do not have permission to change this user role."
+msgstr ""
+
+#: InvenTree/serializers.py:437
+msgid "Only superusers can create new users"
+msgstr ""
+
+#: InvenTree/serializers.py:454
+#, python-brace-format
+msgid "Welcome to {current_site.name}"
+msgstr ""
+
+#: InvenTree/serializers.py:455
+#, python-brace-format
+msgid ""
+"Your account has been created.\n"
+"\n"
+"Please use the password reset function to get access (at https://{domain})."
+msgstr ""
+
+#: InvenTree/serializers.py:519
+msgid "Filename"
+msgstr ""
+
+#: InvenTree/serializers.py:556
+msgid "Invalid value"
+msgstr ""
+
+#: InvenTree/serializers.py:578
+msgid "Data File"
+msgstr ""
+
+#: InvenTree/serializers.py:579
+msgid "Select data file for upload"
+msgstr ""
+
+#: InvenTree/serializers.py:600
+msgid "Unsupported file type"
+msgstr ""
+
+#: InvenTree/serializers.py:606
+msgid "File is too large"
+msgstr ""
+
+#: InvenTree/serializers.py:627
+msgid "No columns found in file"
+msgstr ""
+
+#: InvenTree/serializers.py:630
+msgid "No data rows found in file"
+msgstr ""
+
+#: InvenTree/serializers.py:753
+msgid "No data rows provided"
+msgstr ""
+
+#: InvenTree/serializers.py:756
+msgid "No data columns supplied"
+msgstr ""
+
+#: InvenTree/serializers.py:833
+#, python-brace-format
+msgid "Missing required column: '{name}'"
+msgstr ""
+
+#: InvenTree/serializers.py:842
+#, python-brace-format
+msgid "Duplicate column: '{col}'"
+msgstr ""
+
+#: InvenTree/serializers.py:867
+msgid "Remote Image"
+msgstr ""
+
+#: InvenTree/serializers.py:868
+msgid "URL of remote image file"
+msgstr ""
+
+#: InvenTree/serializers.py:881
+msgid "Downloading images from remote URL is not enabled"
+msgstr ""
+
+#: InvenTree/settings.py:830
+msgid "Bulgarian"
+msgstr ""
+
+#: InvenTree/settings.py:831
+msgid "Czech"
+msgstr ""
+
+#: InvenTree/settings.py:832
+msgid "Danish"
+msgstr ""
+
+#: InvenTree/settings.py:833
+msgid "German"
+msgstr ""
+
+#: InvenTree/settings.py:834
+msgid "Greek"
+msgstr ""
+
+#: InvenTree/settings.py:835
+msgid "English"
+msgstr ""
+
+#: InvenTree/settings.py:836
+msgid "Spanish"
+msgstr ""
+
+#: InvenTree/settings.py:837
+msgid "Spanish (Mexican)"
+msgstr ""
+
+#: InvenTree/settings.py:838
+msgid "Farsi / Persian"
+msgstr ""
+
+#: InvenTree/settings.py:839
+msgid "Finnish"
+msgstr ""
+
+#: InvenTree/settings.py:840
+msgid "French"
+msgstr ""
+
+#: InvenTree/settings.py:841
+msgid "Hebrew"
+msgstr ""
+
+#: InvenTree/settings.py:842
+msgid "Hindi"
+msgstr ""
+
+#: InvenTree/settings.py:843
+msgid "Hungarian"
+msgstr ""
+
+#: InvenTree/settings.py:844
+msgid "Italian"
+msgstr ""
+
+#: InvenTree/settings.py:845
+msgid "Japanese"
+msgstr ""
+
+#: InvenTree/settings.py:846
+msgid "Korean"
+msgstr ""
+
+#: InvenTree/settings.py:847
+msgid "Dutch"
+msgstr ""
+
+#: InvenTree/settings.py:848
+msgid "Norwegian"
+msgstr ""
+
+#: InvenTree/settings.py:849
+msgid "Polish"
+msgstr ""
+
+#: InvenTree/settings.py:850
+msgid "Portuguese"
+msgstr ""
+
+#: InvenTree/settings.py:851
+msgid "Portuguese (Brazilian)"
+msgstr ""
+
+#: InvenTree/settings.py:852
+msgid "Russian"
+msgstr ""
+
+#: InvenTree/settings.py:853
+msgid "Slovenian"
+msgstr ""
+
+#: InvenTree/settings.py:854
+msgid "Serbian"
+msgstr ""
+
+#: InvenTree/settings.py:855
+msgid "Swedish"
+msgstr ""
+
+#: InvenTree/settings.py:856
+msgid "Thai"
+msgstr ""
+
+#: InvenTree/settings.py:857
+msgid "Turkish"
+msgstr ""
+
+#: InvenTree/settings.py:858
+msgid "Vietnamese"
+msgstr ""
+
+#: InvenTree/settings.py:859
+msgid "Chinese (Simplified)"
+msgstr ""
+
+#: InvenTree/settings.py:860
+msgid "Chinese (Traditional)"
+msgstr ""
+
+#: InvenTree/status.py:68 part/serializers.py:1051
+msgid "Background worker check failed"
+msgstr ""
+
+#: InvenTree/status.py:72
+msgid "Email backend not configured"
+msgstr ""
+
+#: InvenTree/status.py:75
+msgid "InvenTree system health checks failed"
+msgstr ""
+
+#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40
+#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167
+#: InvenTree/status_codes.py:188 generic/states/tests.py:16
+#: templates/js/translated/table_filters.js:594
+msgid "Pending"
+msgstr ""
+
+#: InvenTree/status_codes.py:13 generic/states/tests.py:17
+msgid "Placed"
+msgstr ""
+
+#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151
+#: InvenTree/status_codes.py:172 generic/states/tests.py:18
+#: order/templates/order/order_base.html:158
+#: order/templates/order/sales_order_base.html:161
+msgid "Complete"
+msgstr ""
+
+#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43
+#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173
+msgid "Cancelled"
+msgstr ""
+
+#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44
+#: InvenTree/status_codes.py:71
+msgid "Lost"
+msgstr ""
+
+#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45
+#: InvenTree/status_codes.py:73
+msgid "Returned"
+msgstr ""
+
+#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170
+msgid "In Progress"
+msgstr ""
+
+#: InvenTree/status_codes.py:42 order/models.py:1379
+#: templates/js/translated/sales_order.js:1523
+#: templates/js/translated/sales_order.js:1644
+#: templates/js/translated/sales_order.js:1957
+msgid "Shipped"
+msgstr ""
+
+#: InvenTree/status_codes.py:66
+msgid "OK"
+msgstr ""
+
+#: InvenTree/status_codes.py:67
+msgid "Attention needed"
+msgstr ""
+
+#: InvenTree/status_codes.py:68
+msgid "Damaged"
+msgstr ""
+
+#: InvenTree/status_codes.py:69
+msgid "Destroyed"
+msgstr ""
+
+#: InvenTree/status_codes.py:70
+msgid "Rejected"
+msgstr ""
+
+#: InvenTree/status_codes.py:72
+msgid "Quarantined"
+msgstr ""
+
+#: InvenTree/status_codes.py:91
+msgid "Legacy stock tracking entry"
+msgstr ""
+
+#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544
+msgid "Stock item created"
+msgstr ""
+
+#: InvenTree/status_codes.py:96
+msgid "Edited stock item"
+msgstr ""
+
+#: InvenTree/status_codes.py:97
+msgid "Assigned serial number"
+msgstr ""
+
+#: InvenTree/status_codes.py:100
+msgid "Stock counted"
+msgstr ""
+
+#: InvenTree/status_codes.py:101
+msgid "Stock manually added"
+msgstr ""
+
+#: InvenTree/status_codes.py:102
+msgid "Stock manually removed"
+msgstr ""
+
+#: InvenTree/status_codes.py:105
+msgid "Location changed"
+msgstr ""
+
+#: InvenTree/status_codes.py:106
+msgid "Stock updated"
+msgstr ""
+
+#: InvenTree/status_codes.py:109
+msgid "Installed into assembly"
+msgstr ""
+
+#: InvenTree/status_codes.py:110
+msgid "Removed from assembly"
+msgstr ""
+
+#: InvenTree/status_codes.py:112
+msgid "Installed component item"
+msgstr ""
+
+#: InvenTree/status_codes.py:113
+msgid "Removed component item"
+msgstr ""
+
+#: InvenTree/status_codes.py:116
+msgid "Split from parent item"
+msgstr ""
+
+#: InvenTree/status_codes.py:117
+msgid "Split child item"
+msgstr ""
+
+#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826
+msgid "Merged stock items"
+msgstr ""
+
+#: InvenTree/status_codes.py:123
+msgid "Converted to variant"
+msgstr ""
+
+#: InvenTree/status_codes.py:126
+msgid "Build order output created"
+msgstr ""
+
+#: InvenTree/status_codes.py:127
+msgid "Build order output completed"
+msgstr ""
+
+#: InvenTree/status_codes.py:128
+msgid "Build order output rejected"
+msgstr ""
+
+#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732
+msgid "Consumed by build order"
+msgstr ""
+
+#: InvenTree/status_codes.py:132
+msgid "Shipped against Sales Order"
+msgstr ""
+
+#: InvenTree/status_codes.py:135
+msgid "Received against Purchase Order"
+msgstr ""
+
+#: InvenTree/status_codes.py:138
+msgid "Returned against Return Order"
+msgstr ""
+
+#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375
+msgid "Sent to customer"
+msgstr ""
+
+#: InvenTree/status_codes.py:142
+msgid "Returned from customer"
+msgstr ""
+
+#: InvenTree/status_codes.py:149
+msgid "Production"
+msgstr ""
+
+#: InvenTree/status_codes.py:191
+msgid "Return"
+msgstr ""
+
+#: InvenTree/status_codes.py:194
+msgid "Repair"
+msgstr ""
+
+#: InvenTree/status_codes.py:197
+msgid "Replace"
+msgstr ""
+
+#: InvenTree/status_codes.py:200
+msgid "Refund"
+msgstr ""
+
+#: InvenTree/status_codes.py:203
+msgid "Reject"
+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:120 InvenTree/validators.py:136
+msgid "Overage value must not be negative"
+msgstr ""
+
+#: InvenTree/validators.py:138
+msgid "Overage must not exceed 100%"
+msgstr ""
+
+#: InvenTree/validators.py:145
+msgid "Invalid value for overage"
+msgstr ""
+
+#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23
+msgid "Edit User Information"
+msgstr ""
+
+#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20
+msgid "Set Password"
+msgstr ""
+
+#: InvenTree/views.py:437
+msgid "Password fields must match"
+msgstr ""
+
+#: InvenTree/views.py:445
+msgid "Wrong password provided"
+msgstr ""
+
+#: InvenTree/views.py:642 templates/navbar.html:160
+msgid "System Information"
+msgstr ""
+
+#: InvenTree/views.py:649 templates/navbar.html:171
+msgid "About InvenTree"
+msgstr ""
+
+#: build/api.py:237
+msgid "Build must be cancelled before it can be deleted"
+msgstr ""
+
+#: build/api.py:281 part/models.py:3790 templates/js/translated/bom.js:997
+#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2511
+#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:579
+msgid "Consumable"
+msgstr ""
+
+#: build/api.py:282 part/models.py:3784 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028
+#: templates/js/translated/build.js:2520
+#: templates/js/translated/table_filters.js:186
+#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:583
+msgid "Optional"
+msgstr ""
+
+#: build/api.py:283 templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:575
+msgid "Tracked"
+msgstr ""
+
+#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1731
+#: templates/js/translated/build.js:2611
+#: templates/js/translated/sales_order.js:1929
+#: templates/js/translated/table_filters.js:567
+msgid "Allocated"
+msgstr ""
+
+#: build/api.py:293 company/models.py:767
+#: 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:2552
+#: templates/js/translated/index.js:123
+#: templates/js/translated/model_renderers.js:226
+#: templates/js/translated/part.js:692 templates/js/translated/part.js:694
+#: templates/js/translated/part.js:699
+#: templates/js/translated/table_filters.js:340
+#: templates/js/translated/table_filters.js:571
+msgid "Available"
+msgstr ""
+
+#: build/models.py:74 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:27
+#: report/templates/report/inventree_build_order_base.html:105
+#: templates/email/build_order_completed.html:16
+#: templates/email/overdue_build_order.html:15
+#: templates/js/translated/build.js:967 templates/js/translated/stock.js:2863
+msgid "Build Order"
+msgstr ""
+
+#: build/models.py:75 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:196
+msgid "Build Orders"
+msgstr ""
+
+#: build/models.py:116
+msgid "Invalid choice for parent build"
+msgstr ""
+
+#: build/models.py:127
+msgid "Build order part cannot be changed"
+msgstr ""
+
+#: build/models.py:171
+msgid "Build Order Reference"
+msgstr ""
+
+#: build/models.py:172 order/models.py:364 order/models.py:792
+#: order/models.py:1136 order/models.py:1781 part/admin.py:274
+#: part/models.py:3799 part/templates/part/upload_bom.html:54
+#: report/templates/report/inventree_bill_of_materials_report.html:139
+#: report/templates/report/inventree_po_report_base.html:28
+#: report/templates/report/inventree_return_order_report_base.html:26
+#: report/templates/report/inventree_so_report_base.html:28
+#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973
+#: templates/js/translated/build.js:2503 templates/js/translated/order.js:291
+#: templates/js/translated/pricing.js:386
+#: templates/js/translated/purchase_order.js:2059
+#: templates/js/translated/return_order.js:729
+#: templates/js/translated/sales_order.js:1818
+msgid "Reference"
+msgstr ""
+
+#: build/models.py:183
+msgid "Brief description of the build (optional)"
+msgstr ""
+
+#: build/models.py:191 build/templates/build/build_base.html:183
+#: build/templates/build/detail.html:87
+msgid "Parent Build"
+msgstr ""
+
+#: build/models.py:192
+msgid "BuildOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:197 build/templates/build/build_base.html:97
+#: build/templates/build/detail.html:29 company/models.py:908
+#: order/models.py:1243 order/models.py:1358 order/models.py:1359
+#: part/models.py:366 part/models.py:2851 part/models.py:2977
+#: part/models.py:3114 part/models.py:3133 part/models.py:3152
+#: part/models.py:3173 part/models.py:3265 part/models.py:3539
+#: part/models.py:3661 part/models.py:3764 part/models.py:4087
+#: part/serializers.py:1010 part/serializers.py:1497
+#: 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_base.html:109
+#: report/templates/report/inventree_po_report_base.html:27
+#: report/templates/report/inventree_return_order_report_base.html:24
+#: report/templates/report/inventree_slr_report.html:102
+#: report/templates/report/inventree_so_report_base.html:27
+#: stock/serializers.py:206 stock/serializers.py:614
+#: 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:1299 templates/js/translated/build.js:1730
+#: templates/js/translated/build.js:2150 templates/js/translated/build.js:2323
+#: templates/js/translated/company.js:348
+#: templates/js/translated/company.js:1106
+#: templates/js/translated/company.js:1261
+#: templates/js/translated/company.js:1549 templates/js/translated/index.js:109
+#: templates/js/translated/part.js:1941 templates/js/translated/part.js:2013
+#: templates/js/translated/part.js:2322 templates/js/translated/pricing.js:369
+#: templates/js/translated/purchase_order.js:760
+#: templates/js/translated/purchase_order.js:1300
+#: templates/js/translated/purchase_order.js:1842
+#: templates/js/translated/purchase_order.js:2001
+#: templates/js/translated/return_order.js:539
+#: templates/js/translated/return_order.js:710
+#: templates/js/translated/sales_order.js:300
+#: templates/js/translated/sales_order.js:1197
+#: templates/js/translated/sales_order.js:1598
+#: templates/js/translated/sales_order.js:1796
+#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842
+#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967
+#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061
+#: templates/js/translated/stock.js:3204
+msgid "Part"
+msgstr ""
+
+#: build/models.py:205
+msgid "Select part to build"
+msgstr ""
+
+#: build/models.py:210
+msgid "Sales Order Reference"
+msgstr ""
+
+#: build/models.py:214
+msgid "SalesOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:219 build/serializers.py:942
+#: templates/js/translated/build.js:1718
+#: templates/js/translated/sales_order.js:1185
+msgid "Source Location"
+msgstr ""
+
+#: build/models.py:223
+msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
+msgstr ""
+
+#: build/models.py:228
+msgid "Destination Location"
+msgstr ""
+
+#: build/models.py:232
+msgid "Select location where the completed items will be stored"
+msgstr ""
+
+#: build/models.py:236
+msgid "Build Quantity"
+msgstr ""
+
+#: build/models.py:239
+msgid "Number of stock items to build"
+msgstr ""
+
+#: build/models.py:243
+msgid "Completed items"
+msgstr ""
+
+#: build/models.py:245
+msgid "Number of stock items which have been completed"
+msgstr ""
+
+#: build/models.py:249
+msgid "Build Status"
+msgstr ""
+
+#: build/models.py:253
+msgid "Build status code"
+msgstr ""
+
+#: build/models.py:262 build/serializers.py:275 order/serializers.py:516
+#: stock/models.py:773 stock/serializers.py:1282
+#: templates/js/translated/purchase_order.js:1125
+msgid "Batch Code"
+msgstr ""
+
+#: build/models.py:266 build/serializers.py:276
+msgid "Batch code for this build output"
+msgstr ""
+
+#: build/models.py:269 order/models.py:243 part/models.py:975
+#: part/templates/part/part_base.html:310
+#: templates/js/translated/return_order.js:339
+#: templates/js/translated/sales_order.js:827
+msgid "Creation Date"
+msgstr ""
+
+#: build/models.py:273
+msgid "Target completion date"
+msgstr ""
+
+#: build/models.py:274
+msgid "Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/models.py:277 order/models.py:414 order/models.py:1824
+#: templates/js/translated/build.js:2235
+msgid "Completion Date"
+msgstr ""
+
+#: build/models.py:283
+msgid "completed by"
+msgstr ""
+
+#: build/models.py:291 templates/js/translated/build.js:2195
+msgid "Issued by"
+msgstr ""
+
+#: build/models.py:292
+msgid "User who issued this build order"
+msgstr ""
+
+#: build/models.py:300 build/templates/build/build_base.html:204
+#: build/templates/build/detail.html:122 common/models.py:134
+#: order/models.py:257 order/templates/order/order_base.html:217
+#: order/templates/order/return_order_base.html:188
+#: order/templates/order/sales_order_base.html:228 part/models.py:982
+#: part/templates/part/part_base.html:390
+#: report/templates/report/inventree_build_order_base.html:158
+#: templates/InvenTree/settings/settings_staff_js.html:150
+#: templates/js/translated/build.js:2207
+#: templates/js/translated/purchase_order.js:1757
+#: templates/js/translated/return_order.js:359
+#: templates/js/translated/table_filters.js:527
+msgid "Responsible"
+msgstr ""
+
+#: build/models.py:301
+msgid "User or group responsible for this build order"
+msgstr ""
+
+#: build/models.py:306 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:180
+#: part/templates/part/part_base.html:383 stock/models.py:767
+#: stock/templates/stock/item_base.html:200
+#: templates/js/translated/company.js:1009
+msgid "External Link"
+msgstr ""
+
+#: build/models.py:311
+msgid "Build Priority"
+msgstr ""
+
+#: build/models.py:314
+msgid "Priority of this build order"
+msgstr ""
+
+#: build/models.py:321 common/models.py:119 order/admin.py:17
+#: order/models.py:232 templates/InvenTree/settings/settings_staff_js.html:146
+#: templates/js/translated/build.js:2132
+#: templates/js/translated/purchase_order.js:1704
+#: templates/js/translated/return_order.js:318
+#: templates/js/translated/sales_order.js:806
+#: templates/js/translated/table_filters.js:48
+#: templates/project_code_data.html:6
+msgid "Project Code"
+msgstr ""
+
+#: build/models.py:322
+msgid "Project code for this build order"
+msgstr ""
+
+#: build/models.py:557
+#, python-brace-format
+msgid "Build order {build} has been completed"
+msgstr ""
+
+#: build/models.py:563
+msgid "A build order has been completed"
+msgstr ""
+
+#: build/models.py:781 build/models.py:856
+msgid "No build output specified"
+msgstr ""
+
+#: build/models.py:784
+msgid "Build output is already completed"
+msgstr ""
+
+#: build/models.py:787
+msgid "Build output does not match Build Order"
+msgstr ""
+
+#: build/models.py:860 build/serializers.py:218 build/serializers.py:257
+#: build/serializers.py:815 order/models.py:445 order/serializers.py:389
+#: order/serializers.py:511 part/serializers.py:1322 part/serializers.py:1661
+#: stock/models.py:629 stock/models.py:1426 stock/serializers.py:390
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:865 build/serializers.py:223
+msgid "Quantity cannot be greater than the output quantity"
+msgstr ""
+
+#: build/models.py:1279
+msgid "Build object"
+msgstr ""
+
+#: build/models.py:1293 build/models.py:1551 build/serializers.py:205
+#: build/serializers.py:242 build/templates/build/build_base.html:102
+#: build/templates/build/detail.html:34 common/models.py:2366
+#: order/models.py:1123 order/models.py:1703 order/serializers.py:1267
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273
+#: part/forms.py:47 part/models.py:2990 part/models.py:3780
+#: 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_base.html:113
+#: report/templates/report/inventree_po_report_base.html:29
+#: report/templates/report/inventree_slr_report.html:104
+#: report/templates/report/inventree_so_report_base.html:29
+#: report/templates/report/inventree_test_report_base.html:90
+#: report/templates/report/inventree_test_report_base.html:170
+#: stock/admin.py:121 stock/serializers.py:381
+#: 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:516
+#: templates/js/translated/build.js:732 templates/js/translated/build.js:1356
+#: templates/js/translated/build.js:1733 templates/js/translated/build.js:2345
+#: templates/js/translated/company.js:1808
+#: templates/js/translated/model_renderers.js:228
+#: templates/js/translated/order.js:304 templates/js/translated/part.js:961
+#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3308
+#: 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:763
+#: templates/js/translated/purchase_order.js:1846
+#: templates/js/translated/purchase_order.js:2065
+#: templates/js/translated/sales_order.js:317
+#: templates/js/translated/sales_order.js:1199
+#: templates/js/translated/sales_order.js:1518
+#: templates/js/translated/sales_order.js:1608
+#: templates/js/translated/sales_order.js:1698
+#: templates/js/translated/sales_order.js:1824
+#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702
+#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992
+#: templates/js/translated/stock.js:3075
+msgid "Quantity"
+msgstr ""
+
+#: build/models.py:1294
+msgid "Required quantity for build order"
+msgstr ""
+
+#: build/models.py:1374
+msgid "Build item must specify a build output, as master part is marked as trackable"
+msgstr ""
+
+#: build/models.py:1383
+#, python-brace-format
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
+msgstr ""
+
+#: build/models.py:1393 order/models.py:1659
+msgid "Stock item is over-allocated"
+msgstr ""
+
+#: build/models.py:1399 order/models.py:1662
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1405
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1466
+msgid "Selected stock item does not match BOM line"
+msgstr ""
+
+#: build/models.py:1538 build/serializers.py:795 order/serializers.py:1095
+#: order/serializers.py:1116 stock/serializers.py:488 stock/serializers.py:989
+#: stock/serializers.py:1115 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:1732
+#: templates/js/translated/sales_order.js:301
+#: templates/js/translated/sales_order.js:1198
+#: templates/js/translated/sales_order.js:1499
+#: templates/js/translated/sales_order.js:1504
+#: templates/js/translated/sales_order.js:1605
+#: templates/js/translated/sales_order.js:1692
+#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843
+#: templates/js/translated/stock.js:2948
+msgid "Stock Item"
+msgstr ""
+
+#: build/models.py:1539
+msgid "Source stock item"
+msgstr ""
+
+#: build/models.py:1552
+msgid "Stock quantity to allocate to build"
+msgstr ""
+
+#: build/models.py:1560
+msgid "Install into"
+msgstr ""
+
+#: build/models.py:1561
+msgid "Destination stock item"
+msgstr ""
+
+#: build/serializers.py:155 build/serializers.py:824
+#: templates/js/translated/build.js:1309
+msgid "Build Output"
+msgstr ""
+
+#: build/serializers.py:167
+msgid "Build output does not match the parent build"
+msgstr ""
+
+#: build/serializers.py:171
+msgid "Output part does not match BuildOrder part"
+msgstr ""
+
+#: build/serializers.py:175
+msgid "This build output has already been completed"
+msgstr ""
+
+#: build/serializers.py:186
+msgid "This build output is not fully allocated"
+msgstr ""
+
+#: build/serializers.py:206 build/serializers.py:243
+msgid "Enter quantity for build output"
+msgstr ""
+
+#: build/serializers.py:264
+msgid "Integer quantity required for trackable parts"
+msgstr ""
+
+#: build/serializers.py:267
+msgid "Integer quantity required, as the bill of materials contains trackable parts"
+msgstr ""
+
+#: build/serializers.py:282 order/serializers.py:524 order/serializers.py:1271
+#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1149
+#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565
+msgid "Serial Numbers"
+msgstr ""
+
+#: build/serializers.py:283
+msgid "Enter serial numbers for build outputs"
+msgstr ""
+
+#: build/serializers.py:296
+msgid "Auto Allocate Serial Numbers"
+msgstr ""
+
+#: build/serializers.py:297
+msgid "Automatically allocate required items with matching serial numbers"
+msgstr ""
+
+#: build/serializers.py:332 stock/api.py:874
+msgid "The following serial numbers already exist or are invalid"
+msgstr ""
+
+#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523
+msgid "A list of build outputs must be provided"
+msgstr ""
+
+#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:497
+#: order/serializers.py:616 order/serializers.py:1623 part/serializers.py:1022
+#: stock/serializers.py:410 stock/serializers.py:575 stock/serializers.py:669
+#: stock/serializers.py:1150 stock/serializers.py:1421
+#: stock/templates/stock/item_base.html:394
+#: templates/js/translated/barcode.js:547
+#: templates/js/translated/barcode.js:795 templates/js/translated/build.js:994
+#: templates/js/translated/build.js:2360
+#: templates/js/translated/purchase_order.js:1174
+#: templates/js/translated/purchase_order.js:1264
+#: templates/js/translated/sales_order.js:1511
+#: templates/js/translated/sales_order.js:1619
+#: templates/js/translated/sales_order.js:1627
+#: templates/js/translated/sales_order.js:1706
+#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844
+#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171
+#: templates/js/translated/stock.js:2842
+msgid "Location"
+msgstr ""
+
+#: build/serializers.py:422
+msgid "Stock location for scrapped outputs"
+msgstr ""
+
+#: build/serializers.py:428
+msgid "Discard Allocations"
+msgstr ""
+
+#: build/serializers.py:429
+msgid "Discard any stock allocations for scrapped outputs"
+msgstr ""
+
+#: build/serializers.py:434
+msgid "Reason for scrapping build output(s)"
+msgstr ""
+
+#: build/serializers.py:494
+msgid "Location for completed build outputs"
+msgstr ""
+
+#: build/serializers.py:500 build/templates/build/build_base.html:151
+#: build/templates/build/detail.html:62 order/models.py:818
+#: order/models.py:1807 order/serializers.py:534 stock/admin.py:124
+#: stock/serializers.py:726 stock/serializers.py:1289
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2179
+#: templates/js/translated/purchase_order.js:1304
+#: templates/js/translated/purchase_order.js:1716
+#: templates/js/translated/return_order.js:331
+#: templates/js/translated/sales_order.js:819
+#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966
+#: templates/js/translated/stock.js:3091
+msgid "Status"
+msgstr ""
+
+#: build/serializers.py:506
+msgid "Accept Incomplete Allocation"
+msgstr ""
+
+#: build/serializers.py:507
+msgid "Complete outputs if stock has not been fully allocated"
+msgstr ""
+
+#: build/serializers.py:576
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:577
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:583
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:584
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:611
+msgid "Not permitted"
+msgstr ""
+
+#: build/serializers.py:612
+msgid "Accept as consumed by this build order"
+msgstr ""
+
+#: build/serializers.py:613
+msgid "Deallocate before completing this build order"
+msgstr ""
+
+#: build/serializers.py:635
+msgid "Overallocated Stock"
+msgstr ""
+
+#: build/serializers.py:637
+msgid "How do you want to handle extra stock items assigned to the build order"
+msgstr ""
+
+#: build/serializers.py:647
+msgid "Some stock items have been overallocated"
+msgstr ""
+
+#: build/serializers.py:652
+msgid "Accept Unallocated"
+msgstr ""
+
+#: build/serializers.py:653
+msgid "Accept that stock items have not been fully allocated to this build order"
+msgstr ""
+
+#: build/serializers.py:663 templates/js/translated/build.js:310
+msgid "Required stock has not been fully allocated"
+msgstr ""
+
+#: build/serializers.py:668 order/serializers.py:272 order/serializers.py:1163
+msgid "Accept Incomplete"
+msgstr ""
+
+#: build/serializers.py:669
+msgid "Accept that the required number of build outputs have not been completed"
+msgstr ""
+
+#: build/serializers.py:679 templates/js/translated/build.js:314
+msgid "Required build quantity has not been completed"
+msgstr ""
+
+#: build/serializers.py:688 templates/js/translated/build.js:298
+msgid "Build order has incomplete outputs"
+msgstr ""
+
+#: build/serializers.py:718
+msgid "Build Line"
+msgstr ""
+
+#: build/serializers.py:728
+msgid "Build output"
+msgstr ""
+
+#: build/serializers.py:736
+msgid "Build output must point to the same build"
+msgstr ""
+
+#: build/serializers.py:772
+msgid "Build Line Item"
+msgstr ""
+
+#: build/serializers.py:786
+msgid "bom_item.part must point to the same part as the build order"
+msgstr ""
+
+#: build/serializers.py:801 stock/serializers.py:1002
+msgid "Item must be in stock"
+msgstr ""
+
+#: build/serializers.py:849 order/serializers.py:1153
+#, python-brace-format
+msgid "Available quantity ({q}) exceeded"
+msgstr ""
+
+#: build/serializers.py:855
+msgid "Build output must be specified for allocation of tracked parts"
+msgstr ""
+
+#: build/serializers.py:862
+msgid "Build output cannot be specified for allocation of untracked parts"
+msgstr ""
+
+#: build/serializers.py:886 order/serializers.py:1435
+msgid "Allocation items must be provided"
+msgstr ""
+
+#: build/serializers.py:943
+msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
+msgstr ""
+
+#: build/serializers.py:951
+msgid "Exclude Location"
+msgstr ""
+
+#: build/serializers.py:952
+msgid "Exclude stock items from this selected location"
+msgstr ""
+
+#: build/serializers.py:957
+msgid "Interchangeable Stock"
+msgstr ""
+
+#: build/serializers.py:958
+msgid "Stock items in multiple locations can be used interchangeably"
+msgstr ""
+
+#: build/serializers.py:963
+msgid "Substitute Stock"
+msgstr ""
+
+#: build/serializers.py:964
+msgid "Allow allocation of substitute parts"
+msgstr ""
+
+#: build/serializers.py:969
+msgid "Optional Items"
+msgstr ""
+
+#: build/serializers.py:970
+msgid "Allocate optional BOM items to build order"
+msgstr ""
+
+#: build/tasks.py:149
+msgid "Stock required for build order"
+msgstr ""
+
+#: build/tasks.py:166
+msgid "Overdue Build Order"
+msgstr ""
+
+#: build/tasks.py:171
+#, 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:239
+#: order/models.py:1148 order/templates/order/order_base.html:186
+#: order/templates/order/return_order_base.html:164
+#: order/templates/order/sales_order_base.html:192
+#: report/templates/report/inventree_build_order_base.html:125
+#: templates/js/translated/build.js:2227 templates/js/translated/part.js:1829
+#: templates/js/translated/purchase_order.js:1733
+#: templates/js/translated/purchase_order.js:2141
+#: templates/js/translated/return_order.js:347
+#: templates/js/translated/return_order.js:751
+#: templates/js/translated/sales_order.js:835
+#: templates/js/translated/sales_order.js:1867
+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:122
+#: templates/js/translated/table_filters.js:98
+#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:622
+#: templates/js/translated/table_filters.js:663
+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:1409 order/models.py:1351
+#: order/models.py:1450 order/models.py:1598
+#: order/templates/order/sales_order_base.html:9
+#: order/templates/order/sales_order_base.html:28
+#: report/templates/report/inventree_build_order_base.html:135
+#: report/templates/report/inventree_so_report_base.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:769
+#: templates/js/translated/sales_order.js:992
+#: templates/js/translated/stock.js:2895
+msgid "Sales Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:197
+#: build/templates/build/detail.html:115
+#: report/templates/report/inventree_build_order_base.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:2144
+msgid "Priority"
+msgstr ""
+
+#: build/templates/build/build_base.html:273
+msgid "Delete Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:283
+msgid "Build Order QR Code"
+msgstr ""
+
+#: build/templates/build/build_base.html:295
+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:1270
+#: templates/js/translated/purchase_order.js:2183
+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:123
+#: stock/templates/stock/item_base.html:162
+#: templates/js/translated/build.js:1367
+#: templates/js/translated/model_renderers.js:233
+#: templates/js/translated/purchase_order.js:1270
+#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160
+#: templates/js/translated/stock.js:3098
+#: 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:186
+#: templates/js/translated/build.js:2187
+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:202
+#: templates/js/translated/table_filters.js:685
+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:803
+msgid "Order Parts"
+msgstr ""
+
+#: build/templates/build/detail.html:210
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/detail.html:214
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/detail.html:215
+msgid "New Build Output"
+msgstr ""
+
+#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15
+msgid "Consumed Stock"
+msgstr ""
+
+#: build/templates/build/detail.html:244
+msgid "Completed Build Outputs"
+msgstr ""
+
+#: build/templates/build/detail.html:256 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:271
+msgid "Build Notes"
+msgstr ""
+
+#: build/templates/build/detail.html:422
+msgid "Allocation Complete"
+msgstr ""
+
+#: build/templates/build/detail.html:423
+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/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:13
+msgid "File"
+msgstr ""
+
+#: common/forms.py:14
+msgid "Select file to upload"
+msgstr ""
+
+#: common/forms.py:28
+msgid "{name.title()} File"
+msgstr ""
+
+#: common/forms.py:29
+#, python-brace-format
+msgid "Select {name} file to upload"
+msgstr ""
+
+#: common/models.py:72
+msgid "Updated"
+msgstr ""
+
+#: common/models.py:73
+msgid "Timestamp of last update"
+msgstr ""
+
+#: common/models.py:120
+msgid "Unique project code"
+msgstr ""
+
+#: common/models.py:127
+msgid "Project description"
+msgstr ""
+
+#: common/models.py:135
+msgid "User or group responsible for this project"
+msgstr ""
+
+#: common/models.py:658
+msgid "Settings key (must be unique - case insensitive)"
+msgstr ""
+
+#: common/models.py:660
+msgid "Settings value"
+msgstr ""
+
+#: common/models.py:701
+msgid "Chosen value is not a valid option"
+msgstr ""
+
+#: common/models.py:718
+msgid "Value must be a boolean value"
+msgstr ""
+
+#: common/models.py:729
+msgid "Value must be an integer value"
+msgstr ""
+
+#: common/models.py:768
+msgid "Key string must be unique"
+msgstr ""
+
+#: common/models.py:973
+msgid "No group"
+msgstr ""
+
+#: common/models.py:998
+msgid "An empty domain is not allowed."
+msgstr ""
+
+#: common/models.py:1000
+#, python-brace-format
+msgid "Invalid domain name: {domain}"
+msgstr ""
+
+#: common/models.py:1012
+msgid "No plugin"
+msgstr ""
+
+#: common/models.py:1078
+msgid "Restart required"
+msgstr ""
+
+#: common/models.py:1079
+msgid "A setting has been changed which requires a server restart"
+msgstr ""
+
+#: common/models.py:1086
+msgid "Pending migrations"
+msgstr ""
+
+#: common/models.py:1087
+msgid "Number of pending database migrations"
+msgstr ""
+
+#: common/models.py:1093
+msgid "Server Instance Name"
+msgstr ""
+
+#: common/models.py:1095
+msgid "String descriptor for the server instance"
+msgstr ""
+
+#: common/models.py:1100
+msgid "Use instance name"
+msgstr ""
+
+#: common/models.py:1101
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:1107
+msgid "Restrict showing `about`"
+msgstr ""
+
+#: common/models.py:1108
+msgid "Show the `about` modal only to superusers"
+msgstr ""
+
+#: common/models.py:1114 company/models.py:102 company/models.py:103
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal company name"
+msgstr ""
+
+#: common/models.py:1120
+msgid "Base URL"
+msgstr ""
+
+#: common/models.py:1121
+msgid "Base URL for server instance"
+msgstr ""
+
+#: common/models.py:1128
+msgid "Default Currency"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Select base currency for pricing calculations"
+msgstr ""
+
+#: common/models.py:1136
+msgid "Currency Update Interval"
+msgstr ""
+
+#: common/models.py:1137
+msgid "How often to update exchange rates (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1139 common/models.py:1210 common/models.py:1228
+#: common/models.py:1235 common/models.py:1246 common/models.py:1257
+#: common/models.py:1488 common/models.py:1512 common/models.py:1631
+#: common/models.py:1887
+msgid "days"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Currency Update Plugin"
+msgstr ""
+
+#: common/models.py:1148
+msgid "Currency update plugin to use"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Download from URL"
+msgstr ""
+
+#: common/models.py:1155
+msgid "Allow download of remote images and files from external URL"
+msgstr ""
+
+#: common/models.py:1161
+msgid "Download Size Limit"
+msgstr ""
+
+#: common/models.py:1162
+msgid "Maximum allowable download size for remote image"
+msgstr ""
+
+#: common/models.py:1173
+msgid "User-agent used to download from URL"
+msgstr ""
+
+#: common/models.py:1174
+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:1179
+msgid "Strict URL Validation"
+msgstr ""
+
+#: common/models.py:1180
+msgid "Require schema specification when validating URLs"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Require confirm"
+msgstr ""
+
+#: common/models.py:1187
+msgid "Require explicit user confirmation for certain action."
+msgstr ""
+
+#: common/models.py:1193
+msgid "Tree Depth"
+msgstr ""
+
+#: common/models.py:1194
+msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed."
+msgstr ""
+
+#: common/models.py:1203
+msgid "Update Check Interval"
+msgstr ""
+
+#: common/models.py:1204
+msgid "How often to check for updates (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1214
+msgid "Automatic Backup"
+msgstr ""
+
+#: common/models.py:1215
+msgid "Enable automatic backup of database and media files"
+msgstr ""
+
+#: common/models.py:1221
+msgid "Auto Backup Interval"
+msgstr ""
+
+#: common/models.py:1222
+msgid "Specify number of days between automated backup events"
+msgstr ""
+
+#: common/models.py:1232
+msgid "Task Deletion Interval"
+msgstr ""
+
+#: common/models.py:1233
+msgid "Background task results will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1243
+msgid "Error Log Deletion Interval"
+msgstr ""
+
+#: common/models.py:1244
+msgid "Error logs will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1254
+msgid "Notification Deletion Interval"
+msgstr ""
+
+#: common/models.py:1255
+msgid "User notifications will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1265 templates/InvenTree/settings/sidebar.html:31
+msgid "Barcode Support"
+msgstr ""
+
+#: common/models.py:1266
+msgid "Enable barcode scanner support in the web interface"
+msgstr ""
+
+#: common/models.py:1272
+msgid "Barcode Input Delay"
+msgstr ""
+
+#: common/models.py:1273
+msgid "Barcode input processing delay time"
+msgstr ""
+
+#: common/models.py:1283
+msgid "Barcode Webcam Support"
+msgstr ""
+
+#: common/models.py:1284
+msgid "Allow barcode scanning via webcam in browser"
+msgstr ""
+
+#: common/models.py:1290
+msgid "Part Revisions"
+msgstr ""
+
+#: common/models.py:1291
+msgid "Enable revision field for Part"
+msgstr ""
+
+#: common/models.py:1297
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:1298
+msgid "Regular expression pattern for matching Part IPN"
+msgstr ""
+
+#: common/models.py:1302
+msgid "Allow Duplicate IPN"
+msgstr ""
+
+#: common/models.py:1303
+msgid "Allow multiple parts to share the same IPN"
+msgstr ""
+
+#: common/models.py:1309
+msgid "Allow Editing IPN"
+msgstr ""
+
+#: common/models.py:1310
+msgid "Allow changing the IPN value while editing a part"
+msgstr ""
+
+#: common/models.py:1316
+msgid "Copy Part BOM Data"
+msgstr ""
+
+#: common/models.py:1317
+msgid "Copy BOM data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:1323
+msgid "Copy Part Parameter Data"
+msgstr ""
+
+#: common/models.py:1324
+msgid "Copy parameter data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:1330
+msgid "Copy Part Test Data"
+msgstr ""
+
+#: common/models.py:1331
+msgid "Copy test data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:1337
+msgid "Copy Category Parameter Templates"
+msgstr ""
+
+#: common/models.py:1338
+msgid "Copy category parameter templates when creating a part"
+msgstr ""
+
+#: common/models.py:1344 part/admin.py:55 part/models.py:3544
+#: report/models.py:176 templates/js/translated/table_filters.js:139
+#: templates/js/translated/table_filters.js:763
+msgid "Template"
+msgstr ""
+
+#: common/models.py:1345
+msgid "Parts are templates by default"
+msgstr ""
+
+#: common/models.py:1351 part/admin.py:51 part/admin.py:279 part/models.py:933
+#: templates/js/translated/bom.js:1633
+#: templates/js/translated/table_filters.js:330
+#: templates/js/translated/table_filters.js:717
+msgid "Assembly"
+msgstr ""
+
+#: common/models.py:1352
+msgid "Parts can be assembled from other components by default"
+msgstr ""
+
+#: common/models.py:1358 part/admin.py:52 part/models.py:939
+#: templates/js/translated/table_filters.js:725
+msgid "Component"
+msgstr ""
+
+#: common/models.py:1359
+msgid "Parts can be used as sub-components by default"
+msgstr ""
+
+#: common/models.py:1365 part/admin.py:53 part/models.py:950
+msgid "Purchaseable"
+msgstr ""
+
+#: common/models.py:1366
+msgid "Parts are purchaseable by default"
+msgstr ""
+
+#: common/models.py:1372 part/admin.py:54 part/models.py:955
+#: templates/js/translated/table_filters.js:751
+msgid "Salable"
+msgstr ""
+
+#: common/models.py:1373
+msgid "Parts are salable by default"
+msgstr ""
+
+#: common/models.py:1379 part/admin.py:56 part/models.py:945
+#: templates/js/translated/table_filters.js:147
+#: templates/js/translated/table_filters.js:223
+#: templates/js/translated/table_filters.js:767
+msgid "Trackable"
+msgstr ""
+
+#: common/models.py:1380
+msgid "Parts are trackable by default"
+msgstr ""
+
+#: common/models.py:1386 part/admin.py:57 part/models.py:965
+#: part/templates/part/part_base.html:154
+#: templates/js/translated/table_filters.js:143
+#: templates/js/translated/table_filters.js:771
+msgid "Virtual"
+msgstr ""
+
+#: common/models.py:1387
+msgid "Parts are virtual by default"
+msgstr ""
+
+#: common/models.py:1393
+msgid "Show Import in Views"
+msgstr ""
+
+#: common/models.py:1394
+msgid "Display the import wizard in some part views"
+msgstr ""
+
+#: common/models.py:1400
+msgid "Show related parts"
+msgstr ""
+
+#: common/models.py:1401
+msgid "Display related parts for a part"
+msgstr ""
+
+#: common/models.py:1407
+msgid "Initial Stock Data"
+msgstr ""
+
+#: common/models.py:1408
+msgid "Allow creation of initial stock when adding a new part"
+msgstr ""
+
+#: common/models.py:1414 templates/js/translated/part.js:107
+msgid "Initial Supplier Data"
+msgstr ""
+
+#: common/models.py:1415
+msgid "Allow creation of initial supplier data when adding a new part"
+msgstr ""
+
+#: common/models.py:1421
+msgid "Part Name Display Format"
+msgstr ""
+
+#: common/models.py:1422
+msgid "Format to display the part name"
+msgstr ""
+
+#: common/models.py:1429
+msgid "Part Category Default Icon"
+msgstr ""
+
+#: common/models.py:1430
+msgid "Part category default icon (empty means no icon)"
+msgstr ""
+
+#: common/models.py:1435
+msgid "Enforce Parameter Units"
+msgstr ""
+
+#: common/models.py:1436
+msgid "If units are provided, parameter values must match the specified units"
+msgstr ""
+
+#: common/models.py:1442
+msgid "Minimum Pricing Decimal Places"
+msgstr ""
+
+#: common/models.py:1443
+msgid "Minimum number of decimal places to display when rendering pricing data"
+msgstr ""
+
+#: common/models.py:1453
+msgid "Maximum Pricing Decimal Places"
+msgstr ""
+
+#: common/models.py:1454
+msgid "Maximum number of decimal places to display when rendering pricing data"
+msgstr ""
+
+#: common/models.py:1464
+msgid "Use Supplier Pricing"
+msgstr ""
+
+#: common/models.py:1465
+msgid "Include supplier price breaks in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1471
+msgid "Purchase History Override"
+msgstr ""
+
+#: common/models.py:1472
+msgid "Historical purchase order pricing overrides supplier price breaks"
+msgstr ""
+
+#: common/models.py:1478
+msgid "Use Stock Item Pricing"
+msgstr ""
+
+#: common/models.py:1479
+msgid "Use pricing from manually entered stock data for pricing calculations"
+msgstr ""
+
+#: common/models.py:1485
+msgid "Stock Item Pricing Age"
+msgstr ""
+
+#: common/models.py:1486
+msgid "Exclude stock items older than this number of days from pricing calculations"
+msgstr ""
+
+#: common/models.py:1496
+msgid "Use Variant Pricing"
+msgstr ""
+
+#: common/models.py:1497
+msgid "Include variant pricing in overall pricing calculations"
+msgstr ""
+
+#: common/models.py:1503
+msgid "Active Variants Only"
+msgstr ""
+
+#: common/models.py:1504
+msgid "Only use active variant parts for calculating variant pricing"
+msgstr ""
+
+#: common/models.py:1510
+msgid "Pricing Rebuild Interval"
+msgstr ""
+
+#: common/models.py:1511
+msgid "Number of days before part pricing is automatically updated"
+msgstr ""
+
+#: common/models.py:1521
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1522
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1528
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1529
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1535
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1536
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1542
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1543
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1552
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1553
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1559 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1560
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1566 plugin/builtin/labels/label_sheet.py:28
+#: report/models.py:197
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1567
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1573
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1574
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1580
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1581
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1587
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1588
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1594
+msgid "Autofill Serial Numbers"
+msgstr ""
+
+#: common/models.py:1595
+msgid "Autofill serial numbers in forms"
+msgstr ""
+
+#: common/models.py:1601
+msgid "Delete Depleted Stock"
+msgstr ""
+
+#: common/models.py:1602
+msgid "Determines default behaviour when a stock item is depleted"
+msgstr ""
+
+#: common/models.py:1608
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1609
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1614
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1615
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1621
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1622
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1628
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1629
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1636
+msgid "Build Expired Stock"
+msgstr ""
+
+#: common/models.py:1637
+msgid "Allow building with expired stock"
+msgstr ""
+
+#: common/models.py:1643
+msgid "Stock Ownership Control"
+msgstr ""
+
+#: common/models.py:1644
+msgid "Enable ownership control over stock locations and items"
+msgstr ""
+
+#: common/models.py:1650
+msgid "Stock Location Default Icon"
+msgstr ""
+
+#: common/models.py:1651
+msgid "Stock location default icon (empty means no icon)"
+msgstr ""
+
+#: common/models.py:1656
+msgid "Show Installed Stock Items"
+msgstr ""
+
+#: common/models.py:1657
+msgid "Display installed stock items in stock tables"
+msgstr ""
+
+#: common/models.py:1663
+msgid "Build Order Reference Pattern"
+msgstr ""
+
+#: common/models.py:1664
+msgid "Required pattern for generating Build Order reference field"
+msgstr ""
+
+#: common/models.py:1670
+msgid "Enable Return Orders"
+msgstr ""
+
+#: common/models.py:1671
+msgid "Enable return order functionality in the user interface"
+msgstr ""
+
+#: common/models.py:1677
+msgid "Return Order Reference Pattern"
+msgstr ""
+
+#: common/models.py:1678
+msgid "Required pattern for generating Return Order reference field"
+msgstr ""
+
+#: common/models.py:1684
+msgid "Edit Completed Return Orders"
+msgstr ""
+
+#: common/models.py:1685
+msgid "Allow editing of return orders after they have been completed"
+msgstr ""
+
+#: common/models.py:1691
+msgid "Sales Order Reference Pattern"
+msgstr ""
+
+#: common/models.py:1692
+msgid "Required pattern for generating Sales Order reference field"
+msgstr ""
+
+#: common/models.py:1698
+msgid "Sales Order Default Shipment"
+msgstr ""
+
+#: common/models.py:1699
+msgid "Enable creation of default shipment with sales orders"
+msgstr ""
+
+#: common/models.py:1705
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1706
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1712
+msgid "Purchase Order Reference Pattern"
+msgstr ""
+
+#: common/models.py:1713
+msgid "Required pattern for generating Purchase Order reference field"
+msgstr ""
+
+#: common/models.py:1719
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1720
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1727
+msgid "Enable password forgot"
+msgstr ""
+
+#: common/models.py:1728
+msgid "Enable password forgot function on the login pages"
+msgstr ""
+
+#: common/models.py:1734
+msgid "Enable registration"
+msgstr ""
+
+#: common/models.py:1735
+msgid "Enable self-registration for users on the login pages"
+msgstr ""
+
+#: common/models.py:1741
+msgid "Enable SSO"
+msgstr ""
+
+#: common/models.py:1742
+msgid "Enable SSO on the login pages"
+msgstr ""
+
+#: common/models.py:1748
+msgid "Enable SSO registration"
+msgstr ""
+
+#: common/models.py:1749
+msgid "Enable self-registration via SSO for users on the login pages"
+msgstr ""
+
+#: common/models.py:1755
+msgid "Email required"
+msgstr ""
+
+#: common/models.py:1756
+msgid "Require user to supply mail on signup"
+msgstr ""
+
+#: common/models.py:1762
+msgid "Auto-fill SSO users"
+msgstr ""
+
+#: common/models.py:1763
+msgid "Automatically fill out user-details from SSO account-data"
+msgstr ""
+
+#: common/models.py:1769
+msgid "Mail twice"
+msgstr ""
+
+#: common/models.py:1770
+msgid "On signup ask users twice for their mail"
+msgstr ""
+
+#: common/models.py:1776
+msgid "Password twice"
+msgstr ""
+
+#: common/models.py:1777
+msgid "On signup ask users twice for their password"
+msgstr ""
+
+#: common/models.py:1783
+msgid "Allowed domains"
+msgstr ""
+
+#: common/models.py:1784
+msgid "Restrict signup to certain domains (comma-separated, starting with @)"
+msgstr ""
+
+#: common/models.py:1790
+msgid "Group on signup"
+msgstr ""
+
+#: common/models.py:1791
+msgid "Group to which new users are assigned on registration"
+msgstr ""
+
+#: common/models.py:1797
+msgid "Enforce MFA"
+msgstr ""
+
+#: common/models.py:1798
+msgid "Users must use multifactor security."
+msgstr ""
+
+#: common/models.py:1804
+msgid "Check plugins on startup"
+msgstr ""
+
+#: common/models.py:1805
+msgid "Check that all plugins are installed on startup - enable in container environments"
+msgstr ""
+
+#: common/models.py:1813
+msgid "Enable URL integration"
+msgstr ""
+
+#: common/models.py:1814
+msgid "Enable plugins to add URL routes"
+msgstr ""
+
+#: common/models.py:1821
+msgid "Enable navigation integration"
+msgstr ""
+
+#: common/models.py:1822
+msgid "Enable plugins to integrate into navigation"
+msgstr ""
+
+#: common/models.py:1829
+msgid "Enable app integration"
+msgstr ""
+
+#: common/models.py:1830
+msgid "Enable plugins to add apps"
+msgstr ""
+
+#: common/models.py:1837
+msgid "Enable schedule integration"
+msgstr ""
+
+#: common/models.py:1838
+msgid "Enable plugins to run scheduled tasks"
+msgstr ""
+
+#: common/models.py:1845
+msgid "Enable event integration"
+msgstr ""
+
+#: common/models.py:1846
+msgid "Enable plugins to respond to internal events"
+msgstr ""
+
+#: common/models.py:1853
+msgid "Enable project codes"
+msgstr ""
+
+#: common/models.py:1854
+msgid "Enable project codes for tracking projects"
+msgstr ""
+
+#: common/models.py:1860
+msgid "Stocktake Functionality"
+msgstr ""
+
+#: common/models.py:1861
+msgid "Enable stocktake functionality for recording stock levels and calculating stock value"
+msgstr ""
+
+#: common/models.py:1867
+msgid "Exclude External Locations"
+msgstr ""
+
+#: common/models.py:1868
+msgid "Exclude stock items in external locations from stocktake calculations"
+msgstr ""
+
+#: common/models.py:1874
+msgid "Automatic Stocktake Period"
+msgstr ""
+
+#: common/models.py:1875
+msgid "Number of days between automatic stocktake recording (set to zero to disable)"
+msgstr ""
+
+#: common/models.py:1884
+msgid "Report Deletion Interval"
+msgstr ""
+
+#: common/models.py:1885
+msgid "Stocktake reports will be deleted after specified number of days"
+msgstr ""
+
+#: common/models.py:1895
+msgid "Display Users full names"
+msgstr ""
+
+#: common/models.py:1896
+msgid "Display Users full names instead of usernames"
+msgstr ""
+
+#: common/models.py:1908 common/models.py:2337
+msgid "Settings key (must be unique - case insensitive"
+msgstr ""
+
+#: common/models.py:1948
+msgid "Hide inactive parts"
+msgstr ""
+
+#: common/models.py:1949
+msgid "Hide inactive parts in results displayed on the homepage"
+msgstr ""
+
+#: common/models.py:1955
+msgid "Show subscribed parts"
+msgstr ""
+
+#: common/models.py:1956
+msgid "Show subscribed parts on the homepage"
+msgstr ""
+
+#: common/models.py:1962
+msgid "Show subscribed categories"
+msgstr ""
+
+#: common/models.py:1963
+msgid "Show subscribed part categories on the homepage"
+msgstr ""
+
+#: common/models.py:1969
+msgid "Show latest parts"
+msgstr ""
+
+#: common/models.py:1970
+msgid "Show latest parts on the homepage"
+msgstr ""
+
+#: common/models.py:1976
+msgid "Show unvalidated BOMs"
+msgstr ""
+
+#: common/models.py:1977
+msgid "Show BOMs that await validation on the homepage"
+msgstr ""
+
+#: common/models.py:1983
+msgid "Show recent stock changes"
+msgstr ""
+
+#: common/models.py:1984
+msgid "Show recently changed stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1990
+msgid "Show low stock"
+msgstr ""
+
+#: common/models.py:1991
+msgid "Show low stock items on the homepage"
+msgstr ""
+
+#: common/models.py:1997
+msgid "Show depleted stock"
+msgstr ""
+
+#: common/models.py:1998
+msgid "Show depleted stock items on the homepage"
+msgstr ""
+
+#: common/models.py:2004
+msgid "Show needed stock"
+msgstr ""
+
+#: common/models.py:2005
+msgid "Show stock items needed for builds on the homepage"
+msgstr ""
+
+#: common/models.py:2011
+msgid "Show expired stock"
+msgstr ""
+
+#: common/models.py:2012
+msgid "Show expired stock items on the homepage"
+msgstr ""
+
+#: common/models.py:2018
+msgid "Show stale stock"
+msgstr ""
+
+#: common/models.py:2019
+msgid "Show stale stock items on the homepage"
+msgstr ""
+
+#: common/models.py:2025
+msgid "Show pending builds"
+msgstr ""
+
+#: common/models.py:2026
+msgid "Show pending builds on the homepage"
+msgstr ""
+
+#: common/models.py:2032
+msgid "Show overdue builds"
+msgstr ""
+
+#: common/models.py:2033
+msgid "Show overdue builds on the homepage"
+msgstr ""
+
+#: common/models.py:2039
+msgid "Show outstanding POs"
+msgstr ""
+
+#: common/models.py:2040
+msgid "Show outstanding POs on the homepage"
+msgstr ""
+
+#: common/models.py:2046
+msgid "Show overdue POs"
+msgstr ""
+
+#: common/models.py:2047
+msgid "Show overdue POs on the homepage"
+msgstr ""
+
+#: common/models.py:2053
+msgid "Show outstanding SOs"
+msgstr ""
+
+#: common/models.py:2054
+msgid "Show outstanding SOs on the homepage"
+msgstr ""
+
+#: common/models.py:2060
+msgid "Show overdue SOs"
+msgstr ""
+
+#: common/models.py:2061
+msgid "Show overdue SOs on the homepage"
+msgstr ""
+
+#: common/models.py:2067
+msgid "Show pending SO shipments"
+msgstr ""
+
+#: common/models.py:2068
+msgid "Show pending SO shipments on the homepage"
+msgstr ""
+
+#: common/models.py:2074
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:2075
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:2081
+msgid "Inline label display"
+msgstr ""
+
+#: common/models.py:2082
+msgid "Display PDF labels in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:2088
+msgid "Default label printer"
+msgstr ""
+
+#: common/models.py:2089
+msgid "Configure which label printer should be selected by default"
+msgstr ""
+
+#: common/models.py:2095
+msgid "Inline report display"
+msgstr ""
+
+#: common/models.py:2096
+msgid "Display PDF reports in the browser, instead of downloading as a file"
+msgstr ""
+
+#: common/models.py:2102
+msgid "Search Parts"
+msgstr ""
+
+#: common/models.py:2103
+msgid "Display parts in search preview window"
+msgstr ""
+
+#: common/models.py:2109
+msgid "Search Supplier Parts"
+msgstr ""
+
+#: common/models.py:2110
+msgid "Display supplier parts in search preview window"
+msgstr ""
+
+#: common/models.py:2116
+msgid "Search Manufacturer Parts"
+msgstr ""
+
+#: common/models.py:2117
+msgid "Display manufacturer parts in search preview window"
+msgstr ""
+
+#: common/models.py:2123
+msgid "Hide Inactive Parts"
+msgstr ""
+
+#: common/models.py:2124
+msgid "Excluded inactive parts from search preview window"
+msgstr ""
+
+#: common/models.py:2130
+msgid "Search Categories"
+msgstr ""
+
+#: common/models.py:2131
+msgid "Display part categories in search preview window"
+msgstr ""
+
+#: common/models.py:2137
+msgid "Search Stock"
+msgstr ""
+
+#: common/models.py:2138
+msgid "Display stock items in search preview window"
+msgstr ""
+
+#: common/models.py:2144
+msgid "Hide Unavailable Stock Items"
+msgstr ""
+
+#: common/models.py:2145
+msgid "Exclude stock items which are not available from the search preview window"
+msgstr ""
+
+#: common/models.py:2151
+msgid "Search Locations"
+msgstr ""
+
+#: common/models.py:2152
+msgid "Display stock locations in search preview window"
+msgstr ""
+
+#: common/models.py:2158
+msgid "Search Companies"
+msgstr ""
+
+#: common/models.py:2159
+msgid "Display companies in search preview window"
+msgstr ""
+
+#: common/models.py:2165
+msgid "Search Build Orders"
+msgstr ""
+
+#: common/models.py:2166
+msgid "Display build orders in search preview window"
+msgstr ""
+
+#: common/models.py:2172
+msgid "Search Purchase Orders"
+msgstr ""
+
+#: common/models.py:2173
+msgid "Display purchase orders in search preview window"
+msgstr ""
+
+#: common/models.py:2179
+msgid "Exclude Inactive Purchase Orders"
+msgstr ""
+
+#: common/models.py:2180
+msgid "Exclude inactive purchase orders from search preview window"
+msgstr ""
+
+#: common/models.py:2186
+msgid "Search Sales Orders"
+msgstr ""
+
+#: common/models.py:2187
+msgid "Display sales orders in search preview window"
+msgstr ""
+
+#: common/models.py:2193
+msgid "Exclude Inactive Sales Orders"
+msgstr ""
+
+#: common/models.py:2194
+msgid "Exclude inactive sales orders from search preview window"
+msgstr ""
+
+#: common/models.py:2200
+msgid "Search Return Orders"
+msgstr ""
+
+#: common/models.py:2201
+msgid "Display return orders in search preview window"
+msgstr ""
+
+#: common/models.py:2207
+msgid "Exclude Inactive Return Orders"
+msgstr ""
+
+#: common/models.py:2208
+msgid "Exclude inactive return orders from search preview window"
+msgstr ""
+
+#: common/models.py:2214
+msgid "Search Preview Results"
+msgstr ""
+
+#: common/models.py:2215
+msgid "Number of results to show in each section of the search preview window"
+msgstr ""
+
+#: common/models.py:2221
+msgid "Regex Search"
+msgstr ""
+
+#: common/models.py:2222
+msgid "Enable regular expressions in search queries"
+msgstr ""
+
+#: common/models.py:2228
+msgid "Whole Word Search"
+msgstr ""
+
+#: common/models.py:2229
+msgid "Search queries return results for whole word matches"
+msgstr ""
+
+#: common/models.py:2235
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:2236
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:2242
+msgid "Escape Key Closes Forms"
+msgstr ""
+
+#: common/models.py:2243
+msgid "Use the escape key to close modal forms"
+msgstr ""
+
+#: common/models.py:2249
+msgid "Fixed Navbar"
+msgstr ""
+
+#: common/models.py:2250
+msgid "The navbar position is fixed to the top of the screen"
+msgstr ""
+
+#: common/models.py:2256
+msgid "Date Format"
+msgstr ""
+
+#: common/models.py:2257
+msgid "Preferred format for displaying dates"
+msgstr ""
+
+#: common/models.py:2271 part/templates/part/detail.html:41
+msgid "Part Scheduling"
+msgstr ""
+
+#: common/models.py:2272
+msgid "Display part scheduling information"
+msgstr ""
+
+#: common/models.py:2278 part/templates/part/detail.html:62
+msgid "Part Stocktake"
+msgstr ""
+
+#: common/models.py:2279
+msgid "Display part stocktake information (if stocktake functionality is enabled)"
+msgstr ""
+
+#: common/models.py:2285
+msgid "Table String Length"
+msgstr ""
+
+#: common/models.py:2286
+msgid "Maximum length limit for strings displayed in table views"
+msgstr ""
+
+#: common/models.py:2295
+msgid "Default part label template"
+msgstr ""
+
+#: common/models.py:2296
+msgid "The part label template to be automatically selected"
+msgstr ""
+
+#: common/models.py:2304
+msgid "Default stock item template"
+msgstr ""
+
+#: common/models.py:2305
+msgid "The stock item label template to be automatically selected"
+msgstr ""
+
+#: common/models.py:2313
+msgid "Default stock location label template"
+msgstr ""
+
+#: common/models.py:2314
+msgid "The stock location label template to be automatically selected"
+msgstr ""
+
+#: common/models.py:2322
+msgid "Receive error reports"
+msgstr ""
+
+#: common/models.py:2323
+msgid "Receive notifications for system errors"
+msgstr ""
+
+#: common/models.py:2367
+msgid "Price break quantity"
+msgstr ""
+
+#: common/models.py:2374 company/serializers.py:485 order/admin.py:41
+#: order/models.py:1181 order/models.py:2014
+#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1883
+#: templates/js/translated/pricing.js:621
+#: templates/js/translated/return_order.js:741
+msgid "Price"
+msgstr ""
+
+#: common/models.py:2375
+msgid "Unit price at specified quantity"
+msgstr ""
+
+#: common/models.py:2534 common/models.py:2712
+msgid "Endpoint"
+msgstr ""
+
+#: common/models.py:2535
+msgid "Endpoint at which this webhook is received"
+msgstr ""
+
+#: common/models.py:2544
+msgid "Name for this webhook"
+msgstr ""
+
+#: common/models.py:2549 part/admin.py:50 part/models.py:960
+#: plugin/models.py:48 templates/js/translated/table_filters.js:135
+#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:712 users/models.py:171
+msgid "Active"
+msgstr ""
+
+#: common/models.py:2550
+msgid "Is this webhook active"
+msgstr ""
+
+#: common/models.py:2564 users/models.py:149
+msgid "Token"
+msgstr ""
+
+#: common/models.py:2565
+msgid "Token for access"
+msgstr ""
+
+#: common/models.py:2572
+msgid "Secret"
+msgstr ""
+
+#: common/models.py:2573
+msgid "Shared secret for HMAC"
+msgstr ""
+
+#: common/models.py:2679
+msgid "Message ID"
+msgstr ""
+
+#: common/models.py:2680
+msgid "Unique identifier for this message"
+msgstr ""
+
+#: common/models.py:2688
+msgid "Host"
+msgstr ""
+
+#: common/models.py:2689
+msgid "Host from which this message was received"
+msgstr ""
+
+#: common/models.py:2696
+msgid "Header"
+msgstr ""
+
+#: common/models.py:2697
+msgid "Header of this message"
+msgstr ""
+
+#: common/models.py:2703
+msgid "Body"
+msgstr ""
+
+#: common/models.py:2704
+msgid "Body of this message"
+msgstr ""
+
+#: common/models.py:2713
+msgid "Endpoint on which this message was received"
+msgstr ""
+
+#: common/models.py:2718
+msgid "Worked on"
+msgstr ""
+
+#: common/models.py:2719
+msgid "Was the work on this message finished?"
+msgstr ""
+
+#: common/models.py:2873
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2879 templates/js/translated/company.js:955
+#: templates/js/translated/news.js:44
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2889 templates/js/translated/news.js:60
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2894 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:2899 templates/js/translated/news.js:52
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2904
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2905
+msgid "Was this news item read?"
+msgstr ""
+
+#: common/models.py:2924 company/models.py:140 part/models.py:850
+#: 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_base.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:2925
+msgid "Image file"
+msgstr ""
+
+#: common/models.py:2968
+msgid "Unit name must be a valid identifier"
+msgstr ""
+
+#: common/models.py:2990
+msgid "Unit name"
+msgstr ""
+
+#: common/models.py:2996 templates/InvenTree/settings/settings_staff_js.html:75
+msgid "Symbol"
+msgstr ""
+
+#: common/models.py:2997
+msgid "Optional unit symbol"
+msgstr ""
+
+#: common/models.py:3003 templates/InvenTree/settings/settings_staff_js.html:71
+msgid "Definition"
+msgstr ""
+
+#: common/models.py:3004
+msgid "Unit definition"
+msgstr ""
+
+#: common/notifications.py:290
+#, python-brace-format
+msgid "New {verbose_name}"
+msgstr ""
+
+#: common/notifications.py:292
+msgid "A new order has been created and assigned to you"
+msgstr ""
+
+#: common/notifications.py:298
+#, python-brace-format
+msgid "{verbose_name} canceled"
+msgstr ""
+
+#: common/notifications.py:300
+msgid "A order that is assigned to you was canceled"
+msgstr ""
+
+#: common/notifications.py:306 common/notifications.py:313
+msgid "Items Received"
+msgstr ""
+
+#: common/notifications.py:308
+msgid "Items have been received against a purchase order"
+msgstr ""
+
+#: common/notifications.py:315
+msgid "Items have been received against a return order"
+msgstr ""
+
+#: common/notifications.py:427
+msgid "Error raised by plugin"
+msgstr ""
+
+#: common/views.py:85 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:86 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:87
+msgid "Match Items"
+msgstr ""
+
+#: common/views.py:420
+msgid "Fields matching failed"
+msgstr ""
+
+#: common/views.py:481
+msgid "Parts imported"
+msgstr ""
+
+#: common/views.py:508 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/models.py:107
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:108
+msgid "Description of the company"
+msgstr ""
+
+#: company/models.py:114 company/templates/company/company_base.html:100
+#: templates/InvenTree/settings/plugin_settings.html:54
+#: templates/js/translated/company.js:522
+msgid "Website"
+msgstr ""
+
+#: company/models.py:115
+msgid "Company website URL"
+msgstr ""
+
+#: company/models.py:119
+msgid "Phone number"
+msgstr ""
+
+#: company/models.py:120
+msgid "Contact phone number"
+msgstr ""
+
+#: company/models.py:123
+msgid "Contact email address"
+msgstr ""
+
+#: company/models.py:126 company/templates/company/company_base.html:139
+#: order/models.py:265 order/templates/order/order_base.html:203
+#: order/templates/order/return_order_base.html:174
+#: order/templates/order/sales_order_base.html:214
+msgid "Contact"
+msgstr ""
+
+#: company/models.py:127
+msgid "Point of contact"
+msgstr ""
+
+#: company/models.py:129
+msgid "Link to external company information"
+msgstr ""
+
+#: company/models.py:143
+msgid "is customer"
+msgstr ""
+
+#: company/models.py:143
+msgid "Do you sell items to this company?"
+msgstr ""
+
+#: company/models.py:145
+msgid "is supplier"
+msgstr ""
+
+#: company/models.py:145
+msgid "Do you purchase items from this company?"
+msgstr ""
+
+#: company/models.py:147
+msgid "is manufacturer"
+msgstr ""
+
+#: company/models.py:147
+msgid "Does this company manufacture parts?"
+msgstr ""
+
+#: company/models.py:154
+msgid "Default currency used for this company"
+msgstr ""
+
+#: company/models.py:233 company/models.py:334
+#: company/templates/company/company_base.html:8
+#: company/templates/company/company_base.html:12 stock/api.py:671
+#: templates/InvenTree/search.html:178 templates/js/translated/company.js:495
+msgid "Company"
+msgstr ""
+
+#: company/models.py:335
+msgid "Select company"
+msgstr ""
+
+#: company/models.py:338
+msgid "Address title"
+msgstr ""
+
+#: company/models.py:339
+msgid "Title describing the address entry"
+msgstr ""
+
+#: company/models.py:343
+msgid "Primary address"
+msgstr ""
+
+#: company/models.py:344
+msgid "Set as primary address"
+msgstr ""
+
+#: company/models.py:347 templates/js/translated/company.js:904
+#: templates/js/translated/company.js:961
+msgid "Line 1"
+msgstr ""
+
+#: company/models.py:348
+msgid "Address line 1"
+msgstr ""
+
+#: company/models.py:352 templates/js/translated/company.js:905
+#: templates/js/translated/company.js:967
+msgid "Line 2"
+msgstr ""
+
+#: company/models.py:353
+msgid "Address line 2"
+msgstr ""
+
+#: company/models.py:357 company/models.py:358
+#: templates/js/translated/company.js:973
+msgid "Postal code"
+msgstr ""
+
+#: company/models.py:362
+msgid "City/Region"
+msgstr ""
+
+#: company/models.py:363
+msgid "Postal code city/region"
+msgstr ""
+
+#: company/models.py:367
+msgid "State/Province"
+msgstr ""
+
+#: company/models.py:368
+msgid "State or province"
+msgstr ""
+
+#: company/models.py:372 templates/js/translated/company.js:991
+msgid "Country"
+msgstr ""
+
+#: company/models.py:373
+msgid "Address country"
+msgstr ""
+
+#: company/models.py:377
+msgid "Courier shipping notes"
+msgstr ""
+
+#: company/models.py:378
+msgid "Notes for shipping courier"
+msgstr ""
+
+#: company/models.py:382
+msgid "Internal shipping notes"
+msgstr ""
+
+#: company/models.py:383
+msgid "Shipping notes for internal use"
+msgstr ""
+
+#: company/models.py:388
+msgid "Link to address information (external)"
+msgstr ""
+
+#: company/models.py:413 company/models.py:689 stock/models.py:709
+#: stock/serializers.py:205 stock/templates/stock/item_base.html:142
+#: templates/js/translated/bom.js:622
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:417 company/models.py:693
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:428 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:145 part/serializers.py:447
+#: stock/templates/stock/item_base.html:207
+#: templates/js/translated/company.js:506
+#: templates/js/translated/company.js:1108
+#: templates/js/translated/company.js:1286
+#: templates/js/translated/company.js:1601
+#: templates/js/translated/table_filters.js:792
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:429
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/models.py:435 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:153 part/serializers.py:453
+#: templates/js/translated/company.js:351
+#: templates/js/translated/company.js:1107
+#: templates/js/translated/company.js:1302
+#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800
+#: templates/js/translated/purchase_order.js:1845
+#: templates/js/translated/purchase_order.js:2047
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:436
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/models.py:442
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:448
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:495 company/models.py:519 company/models.py:714
+#: 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:526
+msgid "Parameter name"
+msgstr ""
+
+#: company/models.py:532
+#: report/templates/report/inventree_test_report_base.html:104
+#: stock/models.py:2318 templates/js/translated/company.js:1156
+#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492
+#: templates/js/translated/stock.js:1502
+msgid "Value"
+msgstr ""
+
+#: company/models.py:533
+msgid "Parameter value"
+msgstr ""
+
+#: company/models.py:539 company/templates/company/supplier_part.html:168
+#: part/admin.py:39 part/models.py:924 part/models.py:3400
+#: part/templates/part/part_base.html:284
+#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511
+#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2368
+msgid "Units"
+msgstr ""
+
+#: company/models.py:540
+msgid "Parameter units"
+msgstr ""
+
+#: company/models.py:634
+msgid "Pack units must be compatible with the base part units"
+msgstr ""
+
+#: company/models.py:640
+msgid "Pack units must be greater than zero"
+msgstr ""
+
+#: company/models.py:656
+msgid "Linked manufacturer part must reference the same base part"
+msgstr ""
+
+#: company/models.py:700 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:129 order/models.py:387
+#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312
+#: part/serializers.py:436 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:510
+#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768
+#: templates/js/translated/pricing.js:498
+#: templates/js/translated/purchase_order.js:1683
+#: templates/js/translated/table_filters.js:796
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:701
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:707 part/serializers.py:442
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:715
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:721
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:727
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:732 company/templates/company/supplier_part.html:187
+#: part/admin.py:275 part/models.py:3802 part/templates/part/upload_bom.html:59
+#: report/templates/report/inventree_bill_of_materials_report.html:140
+#: report/templates/report/inventree_po_report_base.html:32
+#: report/templates/report/inventree_return_order_report_base.html:27
+#: report/templates/report/inventree_slr_report.html:105
+#: report/templates/report/inventree_so_report_base.html:32
+#: stock/serializers.py:501
+msgid "Note"
+msgstr ""
+
+#: company/models.py:736 part/models.py:1858
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:736 part/models.py:1858
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:738 company/templates/company/supplier_part.html:160
+#: stock/admin.py:137 stock/models.py:735 stock/serializers.py:1297
+#: stock/templates/stock/item_base.html:240
+#: templates/js/translated/company.js:1636
+#: templates/js/translated/stock.js:2394
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:738
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:742 templates/js/translated/company.js:1641
+#: templates/js/translated/part.js:1820 templates/js/translated/part.js:1875
+#: templates/js/translated/purchase_order.js:314
+#: templates/js/translated/purchase_order.js:845
+#: templates/js/translated/purchase_order.js:1099
+#: templates/js/translated/purchase_order.js:2078
+#: templates/js/translated/purchase_order.js:2095
+msgid "Pack Quantity"
+msgstr ""
+
+#: company/models.py:743
+msgid "Total quantity supplied in a single pack. Leave empty for single items."
+msgstr ""
+
+#: company/models.py:759 part/models.py:1860
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:759
+msgid "Order multiple"
+msgstr ""
+
+#: company/models.py:768
+msgid "Quantity available from supplier"
+msgstr ""
+
+#: company/models.py:772
+msgid "Availability Updated"
+msgstr ""
+
+#: company/models.py:773
+msgid "Date of last update of availability data"
+msgstr ""
+
+#: company/serializers.py:153
+msgid "Default currency used for this supplier"
+msgstr ""
+
+#: company/templates/company/company_base.html:21
+#: templates/js/translated/purchase_order.js:242
+msgid "Create Purchase Order"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
+msgid "Company actions"
+msgstr ""
+
+#: company/templates/company/company_base.html:32
+msgid "Edit company information"
+msgstr ""
+
+#: company/templates/company/company_base.html:33
+#: templates/js/translated/company.js:444
+msgid "Edit Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:37
+msgid "Delete company"
+msgstr ""
+
+#: company/templates/company/company_base.html:38
+#: company/templates/company/company_base.html:162
+msgid "Delete Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:47
+#: 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_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
+#: company/templates/company/company_base.html:55
+#: part/templates/part/part_thumb.html:12
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:58
+#: part/templates/part/part_thumb.html:14
+msgid "Download image from URL"
+msgstr ""
+
+#: company/templates/company/company_base.html:60
+#: part/templates/part/part_thumb.html:16
+msgid "Delete image"
+msgstr ""
+
+#: company/templates/company/company_base.html:86 order/models.py:806
+#: order/models.py:1795 order/templates/order/return_order_base.html:131
+#: order/templates/order/sales_order_base.html:144 stock/models.py:754
+#: stock/models.py:755 stock/serializers.py:1044
+#: stock/templates/stock/item_base.html:405
+#: templates/email/overdue_sales_order.html:16
+#: templates/js/translated/company.js:502
+#: templates/js/translated/return_order.js:296
+#: templates/js/translated/sales_order.js:784
+#: templates/js/translated/stock.js:2930
+#: templates/js/translated/table_filters.js:800
+msgid "Customer"
+msgstr ""
+
+#: company/templates/company/company_base.html:111
+msgid "Uses default currency"
+msgstr ""
+
+#: company/templates/company/company_base.html:118 order/models.py:274
+#: order/templates/order/order_base.html:210
+#: order/templates/order/return_order_base.html:181
+#: order/templates/order/sales_order_base.html:221
+msgid "Address"
+msgstr ""
+
+#: company/templates/company/company_base.html:125
+msgid "Phone"
+msgstr ""
+
+#: company/templates/company/company_base.html:205
+#: part/templates/part/part_base.html:528
+msgid "Remove Image"
+msgstr ""
+
+#: company/templates/company/company_base.html:206
+msgid "Remove associated image from this company"
+msgstr ""
+
+#: company/templates/company/company_base.html:208
+#: part/templates/part/part_base.html:531
+#: templates/InvenTree/settings/user.html:88
+#: templates/InvenTree/settings/user_sso.html:43
+msgid "Remove"
+msgstr ""
+
+#: company/templates/company/company_base.html:237
+#: part/templates/part/part_base.html:560
+msgid "Upload Image"
+msgstr ""
+
+#: company/templates/company/company_base.html:252
+#: part/templates/part/part_base.html:614
+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:197
+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:198
+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:199
+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:1333
+msgid "Edit manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:43
+#: templates/js/translated/company.js:1334
+msgid "Delete manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:65
+#: company/templates/company/supplier_part.html:97
+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:60 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:1422
+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 stock/models.py:718
+#: stock/templates/stock/item_base.html:233
+#: templates/js/translated/company.js:1590
+#: templates/js/translated/purchase_order.js:761
+#: templates/js/translated/stock.js:2250
+msgid "Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:50
+#: templates/js/translated/company.js:1516
+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:285
+#: part/bom.py:313 part/serializers.py:442
+#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786
+#: templates/js/translated/pricing.js:510
+#: templates/js/translated/purchase_order.js:1844
+#: templates/js/translated/purchase_order.js:2022
+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:199
+msgid "Create new stock item"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:210
+#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200
+#: 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/stocktake.py:222
+#: part/templates/part/category.html:183
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:48
+#: stock/serializers.py:712 stock/templates/stock/location.html:170
+#: stock/templates/stock/location.html:184
+#: stock/templates/stock/location.html:196
+#: stock/templates/stock/location_sidebar.html:7
+#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060
+#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737
+#: users/models.py:195
+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 ""
+
+#: label/models.py:117
+msgid "Label name"
+msgstr ""
+
+#: label/models.py:124
+msgid "Label description"
+msgstr ""
+
+#: label/models.py:131
+msgid "Label"
+msgstr ""
+
+#: label/models.py:132
+msgid "Label template file"
+msgstr ""
+
+#: label/models.py:138 report/models.py:311
+msgid "Enabled"
+msgstr ""
+
+#: label/models.py:139
+msgid "Label template is enabled"
+msgstr ""
+
+#: label/models.py:144
+msgid "Width [mm]"
+msgstr ""
+
+#: label/models.py:145
+msgid "Label width, specified in mm"
+msgstr ""
+
+#: label/models.py:151
+msgid "Height [mm]"
+msgstr ""
+
+#: label/models.py:152
+msgid "Label height, specified in mm"
+msgstr ""
+
+#: label/models.py:158 report/models.py:304
+msgid "Filename Pattern"
+msgstr ""
+
+#: label/models.py:159
+msgid "Pattern for generating label filenames"
+msgstr ""
+
+#: label/models.py:326 label/models.py:367 label/models.py:395
+#: label/models.py:431
+msgid "Query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: label/models.py:327 label/models.py:368 label/models.py:396
+#: label/models.py:432 report/models.py:332 report/models.py:478
+#: report/models.py:516 report/models.py:554 report/models.py:675
+msgid "Filters"
+msgstr ""
+
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:20
+#: templates/allauth_2fa/setup.html:18
+msgid "QR Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
+#: order/admin.py:29 order/models.py:73
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:327
+#: templates/js/translated/purchase_order.js:2119
+#: templates/js/translated/sales_order.js:1847
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:230
+msgid "No matching purchase order found"
+msgstr ""
+
+#: order/api.py:1407 order/models.py:1227 order/models.py:1310
+#: order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:18
+#: report/templates/report/inventree_po_report_base.html:14
+#: stock/templates/stock/item_base.html:176
+#: templates/email/overdue_purchase_order.html:15
+#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804
+#: templates/js/translated/purchase_order.js:168
+#: templates/js/translated/purchase_order.js:762
+#: templates/js/translated/purchase_order.js:1667
+#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878
+msgid "Purchase Order"
+msgstr ""
+
+#: order/api.py:1411 order/models.py:1984 order/models.py:2030
+#: order/templates/order/return_order_base.html:9
+#: order/templates/order/return_order_base.html:28
+#: report/templates/report/inventree_return_order_report_base.html:13
+#: templates/js/translated/return_order.js:281
+#: templates/js/translated/stock.js:2912
+msgid "Return Order"
+msgstr ""
+
+#: order/api.py:1413 templates/js/translated/sales_order.js:1042
+msgid "Unknown"
+msgstr ""
+
+#: order/models.py:74
+msgid "Total price for this order"
+msgstr ""
+
+#: order/models.py:79 order/serializers.py:50
+msgid "Order Currency"
+msgstr ""
+
+#: order/models.py:81 order/serializers.py:51
+msgid "Currency for this order (leave blank to use company default)"
+msgstr ""
+
+#: order/models.py:207
+msgid "Contact does not match selected company"
+msgstr ""
+
+#: order/models.py:227
+msgid "Order description (optional)"
+msgstr ""
+
+#: order/models.py:232
+msgid "Select project code for this order"
+msgstr ""
+
+#: order/models.py:235 order/models.py:1143 order/models.py:1501
+msgid "Link to external page"
+msgstr ""
+
+#: order/models.py:240
+msgid "Expected date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/models.py:249
+msgid "Created By"
+msgstr ""
+
+#: order/models.py:256
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:266
+msgid "Point of contact for this order"
+msgstr ""
+
+#: order/models.py:275
+msgid "Company address for this order"
+msgstr ""
+
+#: order/models.py:365 order/models.py:793
+msgid "Order reference"
+msgstr ""
+
+#: order/models.py:373 order/models.py:818
+msgid "Purchase order status"
+msgstr ""
+
+#: order/models.py:388
+msgid "Company from which the items are being ordered"
+msgstr ""
+
+#: order/models.py:396 order/templates/order/order_base.html:148
+#: templates/js/translated/purchase_order.js:1696
+msgid "Supplier Reference"
+msgstr ""
+
+#: order/models.py:396
+msgid "Supplier order reference code"
+msgstr ""
+
+#: order/models.py:403
+msgid "received by"
+msgstr ""
+
+#: order/models.py:408 order/models.py:1818
+msgid "Issue Date"
+msgstr ""
+
+#: order/models.py:409 order/models.py:1819
+msgid "Date order was issued"
+msgstr ""
+
+#: order/models.py:415 order/models.py:1825
+msgid "Date order was completed"
+msgstr ""
+
+#: order/models.py:450
+msgid "Part supplier must match PO supplier"
+msgstr ""
+
+#: order/models.py:634
+msgid "Quantity must be a positive number"
+msgstr ""
+
+#: order/models.py:807
+msgid "Company to which the items are being sold"
+msgstr ""
+
+#: order/models.py:826 order/models.py:1812
+msgid "Customer Reference "
+msgstr ""
+
+#: order/models.py:826 order/models.py:1813
+msgid "Customer order reference code"
+msgstr ""
+
+#: order/models.py:828 order/models.py:1455
+#: templates/js/translated/sales_order.js:843
+#: templates/js/translated/sales_order.js:1024
+msgid "Shipment Date"
+msgstr ""
+
+#: order/models.py:835
+msgid "shipped by"
+msgstr ""
+
+#: order/models.py:884
+msgid "Order cannot be completed as no parts have been assigned"
+msgstr ""
+
+#: order/models.py:888
+msgid "Only an open order can be marked as complete"
+msgstr ""
+
+#: order/models.py:891 templates/js/translated/sales_order.js:506
+msgid "Order cannot be completed as there are incomplete shipments"
+msgstr ""
+
+#: order/models.py:894
+msgid "Order cannot be completed as there are incomplete line items"
+msgstr ""
+
+#: order/models.py:1124
+msgid "Item quantity"
+msgstr ""
+
+#: order/models.py:1136
+msgid "Line item reference"
+msgstr ""
+
+#: order/models.py:1138
+msgid "Line item notes"
+msgstr ""
+
+#: order/models.py:1149
+msgid "Target date for this line item (leave blank to use the target date from the order)"
+msgstr ""
+
+#: order/models.py:1167
+msgid "Line item description (optional)"
+msgstr ""
+
+#: order/models.py:1172
+msgid "Context"
+msgstr ""
+
+#: order/models.py:1173
+msgid "Additional context for this line"
+msgstr ""
+
+#: order/models.py:1182
+msgid "Unit price"
+msgstr ""
+
+#: order/models.py:1212
+msgid "Supplier part must match supplier"
+msgstr ""
+
+#: order/models.py:1220
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:1226 order/models.py:1310 order/models.py:1350
+#: order/models.py:1449 order/models.py:1598 order/models.py:1983
+#: order/models.py:2030 templates/js/translated/sales_order.js:1488
+msgid "Order"
+msgstr ""
+
+#: order/models.py:1244
+msgid "Supplier part"
+msgstr ""
+
+#: order/models.py:1251 order/templates/order/order_base.html:196
+#: templates/js/translated/part.js:1868 templates/js/translated/part.js:1899
+#: templates/js/translated/purchase_order.js:1302
+#: templates/js/translated/purchase_order.js:2163
+#: templates/js/translated/return_order.js:764
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:598
+msgid "Received"
+msgstr ""
+
+#: order/models.py:1252
+msgid "Number of items received"
+msgstr ""
+
+#: order/models.py:1259 stock/models.py:857 stock/serializers.py:319
+#: stock/templates/stock/item_base.html:183
+#: templates/js/translated/stock.js:2281
+msgid "Purchase Price"
+msgstr ""
+
+#: order/models.py:1260
+msgid "Unit purchase price"
+msgstr ""
+
+#: order/models.py:1273
+msgid "Where does the Purchaser want this item to be stored?"
+msgstr ""
+
+#: order/models.py:1338
+msgid "Virtual part cannot be assigned to a sales order"
+msgstr ""
+
+#: order/models.py:1343
+msgid "Only salable parts can be assigned to a sales order"
+msgstr ""
+
+#: order/models.py:1369 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:1370
+msgid "Unit sale price"
+msgstr ""
+
+#: order/models.py:1380
+msgid "Shipped quantity"
+msgstr ""
+
+#: order/models.py:1456
+msgid "Date of shipment"
+msgstr ""
+
+#: order/models.py:1461 templates/js/translated/sales_order.js:1036
+msgid "Delivery Date"
+msgstr ""
+
+#: order/models.py:1462
+msgid "Date of delivery of shipment"
+msgstr ""
+
+#: order/models.py:1469
+msgid "Checked By"
+msgstr ""
+
+#: order/models.py:1470
+msgid "User who checked this shipment"
+msgstr ""
+
+#: order/models.py:1477 order/models.py:1685 order/serializers.py:1282
+#: order/serializers.py:1410 templates/js/translated/model_renderers.js:446
+msgid "Shipment"
+msgstr ""
+
+#: order/models.py:1478
+msgid "Shipment number"
+msgstr ""
+
+#: order/models.py:1486
+msgid "Tracking Number"
+msgstr ""
+
+#: order/models.py:1487
+msgid "Shipment tracking information"
+msgstr ""
+
+#: order/models.py:1494
+msgid "Invoice Number"
+msgstr ""
+
+#: order/models.py:1495
+msgid "Reference number for associated invoice"
+msgstr ""
+
+#: order/models.py:1517
+msgid "Shipment has already been sent"
+msgstr ""
+
+#: order/models.py:1520
+msgid "Shipment has no allocated stock items"
+msgstr ""
+
+#: order/models.py:1633 order/models.py:1635
+msgid "Stock item has not been assigned"
+msgstr ""
+
+#: order/models.py:1641
+msgid "Cannot allocate stock item to a line with a different part"
+msgstr ""
+
+#: order/models.py:1643
+msgid "Cannot allocate stock to a line without a part"
+msgstr ""
+
+#: order/models.py:1646
+msgid "Allocation quantity cannot exceed stock quantity"
+msgstr ""
+
+#: order/models.py:1665 order/serializers.py:1146
+msgid "Quantity must be 1 for serialized stock item"
+msgstr ""
+
+#: order/models.py:1668
+msgid "Sales order does not match shipment"
+msgstr ""
+
+#: order/models.py:1669 plugin/base/barcodes/api.py:516
+msgid "Shipment does not match sales order"
+msgstr ""
+
+#: order/models.py:1677
+msgid "Line"
+msgstr ""
+
+#: order/models.py:1686
+msgid "Sales order shipment reference"
+msgstr ""
+
+#: order/models.py:1699 order/models.py:1991
+#: templates/js/translated/return_order.js:722
+msgid "Item"
+msgstr ""
+
+#: order/models.py:1700
+msgid "Select stock item to allocate"
+msgstr ""
+
+#: order/models.py:1703
+msgid "Enter stock allocation quantity"
+msgstr ""
+
+#: order/models.py:1782
+msgid "Return Order reference"
+msgstr ""
+
+#: order/models.py:1796
+msgid "Company from which items are being returned"
+msgstr ""
+
+#: order/models.py:1807
+msgid "Return order status"
+msgstr ""
+
+#: order/models.py:1976
+msgid "Only serialized items can be assigned to a Return Order"
+msgstr ""
+
+#: order/models.py:1992
+msgid "Select item to return from customer"
+msgstr ""
+
+#: order/models.py:1997
+msgid "Received Date"
+msgstr ""
+
+#: order/models.py:1998
+msgid "The date this this return item was received"
+msgstr ""
+
+#: order/models.py:2009 templates/js/translated/return_order.js:733
+#: templates/js/translated/table_filters.js:123
+msgid "Outcome"
+msgstr ""
+
+#: order/models.py:2009
+msgid "Outcome for this line item"
+msgstr ""
+
+#: order/models.py:2015
+msgid "Cost associated with return or repair for this line item"
+msgstr ""
+
+#: order/serializers.py:258
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:273 order/serializers.py:1164
+msgid "Allow order to be closed with incomplete line items"
+msgstr ""
+
+#: order/serializers.py:283 order/serializers.py:1174
+msgid "Order has incomplete line items"
+msgstr ""
+
+#: order/serializers.py:396
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:414
+msgid "Purchase price currency"
+msgstr ""
+
+#: order/serializers.py:432
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:437
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:443
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:444
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:482 order/serializers.py:1250
+msgid "Line Item"
+msgstr ""
+
+#: order/serializers.py:488
+msgid "Line item does not match purchase order"
+msgstr ""
+
+#: order/serializers.py:498 order/serializers.py:617 order/serializers.py:1624
+msgid "Select destination location for received items"
+msgstr ""
+
+#: order/serializers.py:517 templates/js/translated/purchase_order.js:1126
+msgid "Enter batch code for incoming stock items"
+msgstr ""
+
+#: order/serializers.py:525 templates/js/translated/purchase_order.js:1150
+msgid "Enter serial numbers for incoming stock items"
+msgstr ""
+
+#: order/serializers.py:538 templates/js/translated/barcode.js:52
+msgid "Barcode"
+msgstr ""
+
+#: order/serializers.py:539
+msgid "Scanned barcode"
+msgstr ""
+
+#: order/serializers.py:555
+msgid "Barcode is already in use"
+msgstr ""
+
+#: order/serializers.py:579
+msgid "An integer quantity must be provided for trackable parts"
+msgstr ""
+
+#: order/serializers.py:633 order/serializers.py:1638
+msgid "Line items must be provided"
+msgstr ""
+
+#: order/serializers.py:650
+msgid "Destination location must be specified"
+msgstr ""
+
+#: order/serializers.py:661
+msgid "Supplied barcode values must be unique"
+msgstr ""
+
+#: order/serializers.py:986
+msgid "Sale price currency"
+msgstr ""
+
+#: order/serializers.py:1043
+msgid "No shipment details provided"
+msgstr ""
+
+#: order/serializers.py:1107 order/serializers.py:1259
+msgid "Line item is not associated with this order"
+msgstr ""
+
+#: order/serializers.py:1129
+msgid "Quantity must be positive"
+msgstr ""
+
+#: order/serializers.py:1272
+msgid "Enter serial numbers to allocate"
+msgstr ""
+
+#: order/serializers.py:1294 order/serializers.py:1418
+msgid "Shipment has already been shipped"
+msgstr ""
+
+#: order/serializers.py:1297 order/serializers.py:1421
+msgid "Shipment is not associated with this order"
+msgstr ""
+
+#: order/serializers.py:1351
+msgid "No match found for the following serial numbers"
+msgstr ""
+
+#: order/serializers.py:1361
+msgid "The following serial numbers are already allocated"
+msgstr ""
+
+#: order/serializers.py:1591
+msgid "Return order line item"
+msgstr ""
+
+#: order/serializers.py:1597
+msgid "Line item does not match return order"
+msgstr ""
+
+#: order/serializers.py:1600
+msgid "Line item has already been received"
+msgstr ""
+
+#: order/serializers.py:1631
+msgid "Items can only be received against orders which are in progress"
+msgstr ""
+
+#: order/serializers.py:1710
+msgid "Line price currency"
+msgstr ""
+
+#: order/tasks.py:26
+msgid "Overdue Purchase Order"
+msgstr ""
+
+#: order/tasks.py:31
+#, python-brace-format
+msgid "Purchase order {po} is now overdue"
+msgstr ""
+
+#: order/tasks.py:87
+msgid "Overdue Sales Order"
+msgstr ""
+
+#: order/tasks.py:92
+#, 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:93
+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:106
+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:111
+msgid "Order Description"
+msgstr ""
+
+#: order/templates/order/order_base.html:118
+#: order/templates/order/return_order_base.html:113
+#: order/templates/order/sales_order_base.html:118
+msgid "Order Status"
+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:157
+msgid "Completed Line Items"
+msgstr ""
+
+#: order/templates/order/order_base.html:160
+#: order/templates/order/sales_order_base.html:163
+#: order/templates/order/sales_order_base.html:173
+msgid "Incomplete"
+msgstr ""
+
+#: order/templates/order/order_base.html:179
+#: order/templates/order/return_order_base.html:157
+#: report/templates/report/inventree_build_order_base.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:239
+msgid "Total cost could not be calculated"
+msgstr ""
+
+#: order/templates/order/order_base.html:318
+msgid "Purchase Order QR Code"
+msgstr ""
+
+#: order/templates/order/order_base.html:330
+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:524
+#: templates/js/translated/build.js:1616
+#: templates/js/translated/purchase_order.js:706
+#: templates/js/translated/purchase_order.js:1232
+#: templates/js/translated/return_order.js:506
+#: templates/js/translated/sales_order.js:1109
+#: 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:5
+#: order/templates/order/return_order_detail.html:18
+#: order/templates/order/so_sidebar.html:5
+#: report/templates/report/inventree_po_report_base.html:22
+#: report/templates/report/inventree_return_order_report_base.html:19
+#: report/templates/report/inventree_so_report_base.html:22
+msgid "Line Items"
+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:433
+#: templates/js/translated/return_order.js:459
+#: 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:151
+#: templates/js/translated/return_order.js:309
+#: templates/js/translated/sales_order.js:797
+msgid "Customer Reference"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:195
+#: order/templates/order/sales_order_base.html:235
+#: 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:1072
+#: templates/js/translated/purchase_order.js:1746
+#: templates/js/translated/return_order.js:381
+#: templates/js/translated/sales_order.js:855
+msgid "Total Cost"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:263
+msgid "Return Order QR Code"
+msgstr ""
+
+#: order/templates/order/return_order_base.html:275
+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
+#: templates/js/translated/sales_order.js:484
+msgid "Complete Sales Order"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:131
+msgid "This Sales Order has not been fully allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:169
+#: 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:312
+msgid "Sales Order QR Code"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:324
+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:1271 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:390
+msgid "Sales order not found"
+msgstr ""
+
+#: order/views.py:396
+msgid "Price not found"
+msgstr ""
+
+#: order/views.py:399
+#, python-brace-format
+msgid "Updated {part} unit-price to {price}"
+msgstr ""
+
+#: order/views.py:404
+#, python-brace-format
+msgid "Updated {part} unit-price to {price} and quantity to {qty}"
+msgstr ""
+
+#: part/admin.py:32 part/admin.py:269 part/models.py:3665 part/stocktake.py:217
+#: stock/admin.py:119
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:33 part/admin.py:271 part/models.py:3669 part/stocktake.py:218
+#: stock/admin.py:120
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:34 part/stocktake.py:219
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:35 part/models.py:825 part/templates/part/part_base.html:269
+#: report/templates/report/inventree_slr_report.html:103
+#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2339
+#: templates/js/translated/stock.js:2006
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:36 part/models.py:832 part/templates/part/part_base.html:277
+#: report/models.py:189 templates/js/translated/part.js:1231
+#: templates/js/translated/part.js:2345
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:37 part/admin.py:195 part/models.py:811
+#: part/templates/part/category.html:94 part/templates/part/part_base.html:298
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:41
+msgid "Part Image"
+msgstr ""
+
+#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:44 part/admin.py:194
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:45
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:46 part/models.py:800 part/templates/part/part_base.html:177
+msgid "Variant Of"
+msgstr ""
+
+#: part/admin.py:47 part/models.py:917 part/templates/part/part_base.html:203
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:61 part/templates/part/part_base.html:197
+#: templates/js/translated/company.js:1679
+#: templates/js/translated/table_filters.js:355
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:210
+#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2603
+#: templates/js/translated/part.js:709 templates/js/translated/part.js:2146
+#: templates/js/translated/table_filters.js:170
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:63 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:65 part/templates/part/part_base.html:241 stock/admin.py:142
+#: templates/js/translated/part.js:714 templates/js/translated/part.js:2150
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:66 part/models.py:2916 part/models.py:2928
+#: templates/js/translated/part.js:969
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:67 part/models.py:2922 part/models.py:2934
+#: templates/js/translated/part.js:979
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:193 part/admin.py:268 stock/admin.py:44
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:196 part/templates/part/category.html:88
+#: part/templates/part/category.html:101
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:199 part/models.py:367 part/serializers.py:346
+#: 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:2802 templates/js/translated/search.js:130
+#: templates/navbar.html:24 users/models.py:192
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:261
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:263
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:267
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:270 part/models.py:3673
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:276 part/serializers.py:1130
+#: templates/js/translated/pricing.js:358
+#: templates/js/translated/pricing.js:1024
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:277 part/serializers.py:1142
+#: templates/js/translated/pricing.js:353
+#: templates/js/translated/pricing.js:1032
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:506
+msgid "Incoming Purchase Order"
+msgstr ""
+
+#: part/api.py:526
+msgid "Outgoing Sales Order"
+msgstr ""
+
+#: part/api.py:544
+msgid "Stock produced by Build Order"
+msgstr ""
+
+#: part/api.py:630
+msgid "Stock required for Build Order"
+msgstr ""
+
+#: part/api.py:775
+msgid "Valid"
+msgstr ""
+
+#: part/api.py:776
+msgid "Validate entire Bill of Materials"
+msgstr ""
+
+#: part/api.py:782
+msgid "This option must be selected"
+msgstr ""
+
+#: part/bom.py:174 part/models.py:97 part/models.py:859
+#: part/templates/part/category.html:116 part/templates/part/part_base.html:367
+msgid "Default Location"
+msgstr ""
+
+#: part/bom.py:175 templates/email/low_stock_notification.html:16
+msgid "Total Stock"
+msgstr ""
+
+#: part/bom.py:176 part/templates/part/part_base.html:192
+#: templates/js/translated/sales_order.js:1893
+msgid "Available Stock"
+msgstr ""
+
+#: part/forms.py:48
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:79 part/models.py:3614 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr ""
+
+#: part/models.py:80 part/templates/part/category.html:136
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158
+#: users/models.py:191
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:98
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:103 stock/models.py:154 templates/js/translated/stock.js:2743
+#: templates/js/translated/table_filters.js:239
+#: templates/js/translated/table_filters.js:283
+msgid "Structural"
+msgstr ""
+
+#: part/models.py:105
+msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
+msgstr ""
+
+#: part/models.py:109
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:109
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:114 stock/models.py:85 stock/models.py:142
+#: templates/InvenTree/settings/settings_staff_js.html:456
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:115 stock/models.py:143
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:134
+msgid "You cannot make this part category structural because some parts are already assigned to it!"
+msgstr ""
+
+#: part/models.py:452
+msgid "Invalid choice for parent part"
+msgstr ""
+
+#: part/models.py:495 part/models.py:498
+#, python-brace-format
+msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)"
+msgstr ""
+
+#: part/models.py:507
+#, python-brace-format
+msgid "Part '{parent}' is  used in BOM for '{self}' (recursive)"
+msgstr ""
+
+#: part/models.py:574
+#, python-brace-format
+msgid "IPN must match regex pattern {pattern}"
+msgstr ""
+
+#: part/models.py:644
+msgid "Stock item with this serial number already exists"
+msgstr ""
+
+#: part/models.py:739
+msgid "Duplicate IPN not allowed in part settings"
+msgstr ""
+
+#: part/models.py:744
+msgid "Part with this Name, IPN and Revision already exists."
+msgstr ""
+
+#: part/models.py:758
+msgid "Parts cannot be assigned to structural part categories!"
+msgstr ""
+
+#: part/models.py:782 part/models.py:3670
+msgid "Part name"
+msgstr ""
+
+#: part/models.py:788
+msgid "Is Template"
+msgstr ""
+
+#: part/models.py:789
+msgid "Is this part a template part?"
+msgstr ""
+
+#: part/models.py:799
+msgid "Is this part a variant of another part?"
+msgstr ""
+
+#: part/models.py:806
+msgid "Part description (optional)"
+msgstr ""
+
+#: part/models.py:812
+msgid "Part keywords to improve visibility in search results"
+msgstr ""
+
+#: part/models.py:819 part/models.py:3193 part/models.py:3613
+#: part/serializers.py:359 part/serializers.py:1016
+#: part/templates/part/part_base.html:260 stock/api.py:633
+#: templates/InvenTree/settings/settings_staff_js.html:300
+#: templates/js/translated/notification.js:60
+#: templates/js/translated/part.js:2375
+msgid "Category"
+msgstr ""
+
+#: part/models.py:820
+msgid "Part category"
+msgstr ""
+
+#: part/models.py:826
+msgid "Internal Part Number"
+msgstr ""
+
+#: part/models.py:831
+msgid "Part revision or version number"
+msgstr ""
+
+#: part/models.py:857
+msgid "Where is this item normally stored?"
+msgstr ""
+
+#: part/models.py:902 part/templates/part/part_base.html:376
+msgid "Default Supplier"
+msgstr ""
+
+#: part/models.py:903
+msgid "Default supplier part"
+msgstr ""
+
+#: part/models.py:910
+msgid "Default Expiry"
+msgstr ""
+
+#: part/models.py:911
+msgid "Expiry time (in days) for stock items of this part"
+msgstr ""
+
+#: part/models.py:918
+msgid "Minimum allowed stock level"
+msgstr ""
+
+#: part/models.py:925
+msgid "Units of measure for this part"
+msgstr ""
+
+#: part/models.py:934
+msgid "Can this part be built from other parts?"
+msgstr ""
+
+#: part/models.py:940
+msgid "Can this part be used to build other parts?"
+msgstr ""
+
+#: part/models.py:946
+msgid "Does this part have tracking for unique items?"
+msgstr ""
+
+#: part/models.py:951
+msgid "Can this part be purchased from external suppliers?"
+msgstr ""
+
+#: part/models.py:956
+msgid "Can this part be sold to customers?"
+msgstr ""
+
+#: part/models.py:961
+msgid "Is this part active?"
+msgstr ""
+
+#: part/models.py:966
+msgid "Is this a virtual part, such as a software product or license?"
+msgstr ""
+
+#: part/models.py:968
+msgid "BOM checksum"
+msgstr ""
+
+#: part/models.py:968
+msgid "Stored BOM checksum"
+msgstr ""
+
+#: part/models.py:971
+msgid "BOM checked by"
+msgstr ""
+
+#: part/models.py:973
+msgid "BOM checked date"
+msgstr ""
+
+#: part/models.py:977
+msgid "Creation User"
+msgstr ""
+
+#: part/models.py:983
+msgid "Owner responsible for this part"
+msgstr ""
+
+#: part/models.py:989 part/templates/part/part_base.html:339
+#: stock/templates/stock/item_base.html:451
+#: templates/js/translated/part.js:2469
+msgid "Last Stocktake"
+msgstr ""
+
+#: part/models.py:1860
+msgid "Sell multiple"
+msgstr ""
+
+#: part/models.py:2839
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2856
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2857
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2862
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2863
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2868
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2869
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2874
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2875
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2880
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2881
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2886
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2887
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2892
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2893
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2898
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2899
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2904
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2905
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2910
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2911
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2917
+msgid "Override minimum cost"
+msgstr ""
+
+#: part/models.py:2923
+msgid "Override maximum cost"
+msgstr ""
+
+#: part/models.py:2929
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2935
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2940
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2941
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2946
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2947
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2952
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2953
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2958
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2959
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2978
+msgid "Part for stocktake"
+msgstr ""
+
+#: part/models.py:2983
+msgid "Item Count"
+msgstr ""
+
+#: part/models.py:2984
+msgid "Number of individual stock entries at time of stocktake"
+msgstr ""
+
+#: part/models.py:2991
+msgid "Total available stock at time of stocktake"
+msgstr ""
+
+#: part/models.py:2995 part/models.py:3075
+#: part/templates/part/part_scheduling.html:13
+#: report/templates/report/inventree_test_report_base.html:106
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:540
+#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826
+#: templates/js/translated/pricing.js:950
+#: templates/js/translated/purchase_order.js:1725
+#: templates/js/translated/stock.js:2792
+msgid "Date"
+msgstr ""
+
+#: part/models.py:2996
+msgid "Date stocktake was performed"
+msgstr ""
+
+#: part/models.py:3004
+msgid "Additional notes"
+msgstr ""
+
+#: part/models.py:3012
+msgid "User who performed this stocktake"
+msgstr ""
+
+#: part/models.py:3017
+msgid "Minimum Stock Cost"
+msgstr ""
+
+#: part/models.py:3018
+msgid "Estimated minimum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:3023
+msgid "Maximum Stock Cost"
+msgstr ""
+
+#: part/models.py:3024
+msgid "Estimated maximum cost of stock on hand"
+msgstr ""
+
+#: part/models.py:3082 templates/InvenTree/settings/settings_staff_js.html:529
+msgid "Report"
+msgstr ""
+
+#: part/models.py:3083
+msgid "Stocktake report file (generated internally)"
+msgstr ""
+
+#: part/models.py:3088 templates/InvenTree/settings/settings_staff_js.html:536
+msgid "Part Count"
+msgstr ""
+
+#: part/models.py:3089
+msgid "Number of parts covered by stocktake"
+msgstr ""
+
+#: part/models.py:3097
+msgid "User who requested this stocktake report"
+msgstr ""
+
+#: part/models.py:3233
+msgid "Test templates can only be created for trackable parts"
+msgstr ""
+
+#: part/models.py:3250
+msgid "Test with this name already exists for this part"
+msgstr ""
+
+#: part/models.py:3270 templates/js/translated/part.js:2866
+msgid "Test Name"
+msgstr ""
+
+#: part/models.py:3271
+msgid "Enter a name for the test"
+msgstr ""
+
+#: part/models.py:3276
+msgid "Test Description"
+msgstr ""
+
+#: part/models.py:3277
+msgid "Enter description for this test"
+msgstr ""
+
+#: part/models.py:3282 templates/js/translated/part.js:2875
+#: templates/js/translated/table_filters.js:477
+msgid "Required"
+msgstr ""
+
+#: part/models.py:3283
+msgid "Is this test required to pass?"
+msgstr ""
+
+#: part/models.py:3288 templates/js/translated/part.js:2883
+msgid "Requires Value"
+msgstr ""
+
+#: part/models.py:3289
+msgid "Does this test require a value when adding a test result?"
+msgstr ""
+
+#: part/models.py:3294 templates/js/translated/part.js:2890
+msgid "Requires Attachment"
+msgstr ""
+
+#: part/models.py:3295
+msgid "Does this test require a file attachment when adding a test result?"
+msgstr ""
+
+#: part/models.py:3340
+msgid "Checkbox parameters cannot have units"
+msgstr ""
+
+#: part/models.py:3345
+msgid "Checkbox parameters cannot have choices"
+msgstr ""
+
+#: part/models.py:3363
+msgid "Choices must be unique"
+msgstr ""
+
+#: part/models.py:3379
+msgid "Parameter template name must be unique"
+msgstr ""
+
+#: part/models.py:3394
+msgid "Parameter Name"
+msgstr ""
+
+#: part/models.py:3400
+msgid "Physical units for this parameter"
+msgstr ""
+
+#: part/models.py:3410
+msgid "Parameter description"
+msgstr ""
+
+#: part/models.py:3416 templates/js/translated/part.js:1627
+#: templates/js/translated/table_filters.js:817
+msgid "Checkbox"
+msgstr ""
+
+#: part/models.py:3417
+msgid "Is this parameter a checkbox?"
+msgstr ""
+
+#: part/models.py:3422 templates/js/translated/part.js:1636
+msgid "Choices"
+msgstr ""
+
+#: part/models.py:3423
+msgid "Valid choices for this parameter (comma-separated)"
+msgstr ""
+
+#: part/models.py:3497
+msgid "Invalid choice for parameter value"
+msgstr ""
+
+#: part/models.py:3539
+msgid "Parent Part"
+msgstr ""
+
+#: part/models.py:3544 part/models.py:3619 part/models.py:3620
+#: templates/InvenTree/settings/settings_staff_js.html:295
+msgid "Parameter Template"
+msgstr ""
+
+#: part/models.py:3549
+msgid "Data"
+msgstr ""
+
+#: part/models.py:3549
+msgid "Parameter Value"
+msgstr ""
+
+#: part/models.py:3624 templates/InvenTree/settings/settings_staff_js.html:304
+msgid "Default Value"
+msgstr ""
+
+#: part/models.py:3625
+msgid "Default Parameter Value"
+msgstr ""
+
+#: part/models.py:3662
+msgid "Part ID or part name"
+msgstr ""
+
+#: part/models.py:3666
+msgid "Unique part ID value"
+msgstr ""
+
+#: part/models.py:3674
+msgid "Part IPN value"
+msgstr ""
+
+#: part/models.py:3677
+msgid "Level"
+msgstr ""
+
+#: part/models.py:3678
+msgid "BOM level"
+msgstr ""
+
+#: part/models.py:3684 part/models.py:4079 stock/api.py:648
+msgid "BOM Item"
+msgstr ""
+
+#: part/models.py:3765
+msgid "Select parent part"
+msgstr ""
+
+#: part/models.py:3773
+msgid "Sub part"
+msgstr ""
+
+#: part/models.py:3774
+msgid "Select part to be used in BOM"
+msgstr ""
+
+#: part/models.py:3780
+msgid "BOM quantity for this BOM item"
+msgstr ""
+
+#: part/models.py:3785
+msgid "This BOM item is optional"
+msgstr ""
+
+#: part/models.py:3791
+msgid "This BOM item is consumable (it is not tracked in build orders)"
+msgstr ""
+
+#: part/models.py:3795 part/templates/part/upload_bom.html:55
+msgid "Overage"
+msgstr ""
+
+#: part/models.py:3796
+msgid "Estimated build wastage quantity (absolute or percentage)"
+msgstr ""
+
+#: part/models.py:3799
+msgid "BOM item reference"
+msgstr ""
+
+#: part/models.py:3802
+msgid "BOM item notes"
+msgstr ""
+
+#: part/models.py:3806
+msgid "Checksum"
+msgstr ""
+
+#: part/models.py:3806
+msgid "BOM line checksum"
+msgstr ""
+
+#: part/models.py:3811 templates/js/translated/table_filters.js:174
+msgid "Validated"
+msgstr ""
+
+#: part/models.py:3812
+msgid "This BOM item has been validated"
+msgstr ""
+
+#: part/models.py:3817 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:3818
+msgid "This BOM item is inherited by BOMs for variant parts"
+msgstr ""
+
+#: part/models.py:3823 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1046
+msgid "Allow Variants"
+msgstr ""
+
+#: part/models.py:3824
+msgid "Stock items for variant parts can be used for this BOM item"
+msgstr ""
+
+#: part/models.py:3910 stock/models.py:613
+msgid "Quantity must be integer value for trackable parts"
+msgstr ""
+
+#: part/models.py:3919 part/models.py:3921
+msgid "Sub part must be specified"
+msgstr ""
+
+#: part/models.py:4046
+msgid "BOM Item Substitute"
+msgstr ""
+
+#: part/models.py:4067
+msgid "Substitute part cannot be the same as the master part"
+msgstr ""
+
+#: part/models.py:4080
+msgid "Parent BOM item"
+msgstr ""
+
+#: part/models.py:4088
+msgid "Substitute part"
+msgstr ""
+
+#: part/models.py:4103
+msgid "Part 1"
+msgstr ""
+
+#: part/models.py:4107
+msgid "Part 2"
+msgstr ""
+
+#: part/models.py:4107
+msgid "Select Related Part"
+msgstr ""
+
+#: part/models.py:4124
+msgid "Part relationship cannot be created between a part and itself"
+msgstr ""
+
+#: part/models.py:4128
+msgid "Duplicate relationship already exists"
+msgstr ""
+
+#: part/serializers.py:176 part/serializers.py:199 stock/serializers.py:324
+msgid "Purchase currency of this stock item"
+msgstr ""
+
+#: part/serializers.py:352
+msgid "No parts selected"
+msgstr ""
+
+#: part/serializers.py:360
+msgid "Select category"
+msgstr ""
+
+#: part/serializers.py:390
+msgid "Original Part"
+msgstr ""
+
+#: part/serializers.py:390
+msgid "Select original part to duplicate"
+msgstr ""
+
+#: part/serializers.py:395
+msgid "Copy Image"
+msgstr ""
+
+#: part/serializers.py:395
+msgid "Copy image from original part"
+msgstr ""
+
+#: part/serializers.py:400 part/templates/part/detail.html:277
+msgid "Copy BOM"
+msgstr ""
+
+#: part/serializers.py:400
+msgid "Copy bill of materials from original part"
+msgstr ""
+
+#: part/serializers.py:405
+msgid "Copy Parameters"
+msgstr ""
+
+#: part/serializers.py:405
+msgid "Copy parameter data from original part"
+msgstr ""
+
+#: part/serializers.py:410
+msgid "Copy Notes"
+msgstr ""
+
+#: part/serializers.py:410
+msgid "Copy notes from original part"
+msgstr ""
+
+#: part/serializers.py:420
+msgid "Initial Stock Quantity"
+msgstr ""
+
+#: part/serializers.py:420
+msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
+msgstr ""
+
+#: part/serializers.py:426
+msgid "Initial Stock Location"
+msgstr ""
+
+#: part/serializers.py:426
+msgid "Specify initial stock location for this Part"
+msgstr ""
+
+#: part/serializers.py:436
+msgid "Select supplier (or leave blank to skip)"
+msgstr ""
+
+#: part/serializers.py:447
+msgid "Select manufacturer (or leave blank to skip)"
+msgstr ""
+
+#: part/serializers.py:453
+msgid "Manufacturer part number"
+msgstr ""
+
+#: part/serializers.py:459
+msgid "Selected company is not a valid supplier"
+msgstr ""
+
+#: part/serializers.py:466
+msgid "Selected company is not a valid manufacturer"
+msgstr ""
+
+#: part/serializers.py:477
+msgid "Manufacturer part matching this MPN already exists"
+msgstr ""
+
+#: part/serializers.py:485
+msgid "Supplier part matching this SKU already exists"
+msgstr ""
+
+#: part/serializers.py:748 part/templates/part/copy_part.html:9
+#: templates/js/translated/part.js:471
+msgid "Duplicate Part"
+msgstr ""
+
+#: part/serializers.py:748
+msgid "Copy initial data from another Part"
+msgstr ""
+
+#: part/serializers.py:753 templates/js/translated/part.js:102
+msgid "Initial Stock"
+msgstr ""
+
+#: part/serializers.py:753
+msgid "Create Part with initial stock quantity"
+msgstr ""
+
+#: part/serializers.py:758
+msgid "Supplier Information"
+msgstr ""
+
+#: part/serializers.py:758
+msgid "Add initial supplier information for this part"
+msgstr ""
+
+#: part/serializers.py:764
+msgid "Copy Category Parameters"
+msgstr ""
+
+#: part/serializers.py:765
+msgid "Copy parameter templates from selected part category"
+msgstr ""
+
+#: part/serializers.py:770
+msgid "Existing Image"
+msgstr ""
+
+#: part/serializers.py:771
+msgid "Filename of an existing part image"
+msgstr ""
+
+#: part/serializers.py:791
+msgid "Image file does not exist"
+msgstr ""
+
+#: part/serializers.py:1010
+msgid "Limit stocktake report to a particular part, and any variant parts"
+msgstr ""
+
+#: part/serializers.py:1016
+msgid "Limit stocktake report to a particular part category, and any child categories"
+msgstr ""
+
+#: part/serializers.py:1022
+msgid "Limit stocktake report to a particular stock location, and any child locations"
+msgstr ""
+
+#: part/serializers.py:1027
+msgid "Exclude External Stock"
+msgstr ""
+
+#: part/serializers.py:1028
+msgid "Exclude stock items in external locations"
+msgstr ""
+
+#: part/serializers.py:1033
+msgid "Generate Report"
+msgstr ""
+
+#: part/serializers.py:1034
+msgid "Generate report file containing calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:1039
+msgid "Update Parts"
+msgstr ""
+
+#: part/serializers.py:1040
+msgid "Update specified parts with calculated stocktake data"
+msgstr ""
+
+#: part/serializers.py:1047
+msgid "Stocktake functionality is not enabled"
+msgstr ""
+
+#: part/serializers.py:1131
+msgid "Override calculated value for minimum price"
+msgstr ""
+
+#: part/serializers.py:1136
+msgid "Minimum price currency"
+msgstr ""
+
+#: part/serializers.py:1143
+msgid "Override calculated value for maximum price"
+msgstr ""
+
+#: part/serializers.py:1148
+msgid "Maximum price currency"
+msgstr ""
+
+#: part/serializers.py:1164
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:1165
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:1186
+#, python-brace-format
+msgid "Could not convert from provided currencies to {default_currency}"
+msgstr ""
+
+#: part/serializers.py:1190
+msgid "Minimum price must not be greater than maximum price"
+msgstr ""
+
+#: part/serializers.py:1191
+msgid "Maximum price must not be less than minimum price"
+msgstr ""
+
+#: part/serializers.py:1498
+msgid "Select part to copy BOM from"
+msgstr ""
+
+#: part/serializers.py:1506
+msgid "Remove Existing Data"
+msgstr ""
+
+#: part/serializers.py:1507
+msgid "Remove existing BOM items before copying"
+msgstr ""
+
+#: part/serializers.py:1512
+msgid "Include Inherited"
+msgstr ""
+
+#: part/serializers.py:1513
+msgid "Include BOM items which are inherited from templated parts"
+msgstr ""
+
+#: part/serializers.py:1518
+msgid "Skip Invalid Rows"
+msgstr ""
+
+#: part/serializers.py:1519
+msgid "Enable this option to skip invalid rows"
+msgstr ""
+
+#: part/serializers.py:1524
+msgid "Copy Substitute Parts"
+msgstr ""
+
+#: part/serializers.py:1525
+msgid "Copy substitute parts when duplicate BOM items"
+msgstr ""
+
+#: part/serializers.py:1565
+msgid "Clear Existing BOM"
+msgstr ""
+
+#: part/serializers.py:1566
+msgid "Delete existing BOM items before uploading"
+msgstr ""
+
+#: part/serializers.py:1596
+msgid "No part column specified"
+msgstr ""
+
+#: part/serializers.py:1640
+msgid "Multiple matching parts found"
+msgstr ""
+
+#: part/serializers.py:1643
+msgid "No matching part found"
+msgstr ""
+
+#: part/serializers.py:1646
+msgid "Part is not designated as a component"
+msgstr ""
+
+#: part/serializers.py:1655
+msgid "Quantity not provided"
+msgstr ""
+
+#: part/serializers.py:1663
+msgid "Invalid quantity"
+msgstr ""
+
+#: part/serializers.py:1684
+msgid "At least one BOM item is required"
+msgstr ""
+
+#: part/stocktake.py:223 templates/js/translated/part.js:1066
+#: templates/js/translated/part.js:1820 templates/js/translated/part.js:1875
+#: templates/js/translated/purchase_order.js:2078
+msgid "Total Quantity"
+msgstr ""
+
+#: part/stocktake.py:224
+msgid "Total Cost Min"
+msgstr ""
+
+#: part/stocktake.py:225
+msgid "Total Cost Max"
+msgstr ""
+
+#: part/stocktake.py:289
+msgid "Stocktake Report Available"
+msgstr ""
+
+#: part/stocktake.py:290
+msgid "A new stocktake report is available for download"
+msgstr ""
+
+#: part/tasks.py:33
+msgid "Low stock notification"
+msgstr ""
+
+#: part/tasks.py:34
+#, 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 "The BOM for <em>%(part)s</em> was last checked by %(checker)s on %(check_date)s"
+msgstr ""
+
+#: part/templates/part/bom.html:21
+#, python-format
+msgid "The BOM for <em>%(part)s</em> 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:122 part/templates/part/category.html:207
+#: part/templates/part/category_sidebar.html:7
+msgid "Subcategories"
+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:148 templates/InvenTree/settings/part_stocktake.html:30
+#: templates/InvenTree/settings/sidebar.html:53
+#: templates/js/translated/stock.js:2186 users/models.py:193
+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:1314 templates/js/translated/bom.js:1315
+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:659
+msgid "Related Part"
+msgstr ""
+
+#: part/templates/part/detail.html:667
+msgid "Add Related Part"
+msgstr ""
+
+#: part/templates/part/detail.html:752
+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
+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:2291
+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:146
+#: templates/js/translated/company.js:1277
+#: templates/js/translated/company.js:1565
+#: templates/js/translated/model_renderers.js:304
+#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218
+msgid "Inactive"
+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:682
+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:1213
+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:1264 templates/js/translated/part.js:2442
+#: 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:472 templates/js/translated/part.js:2285
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:512
+msgid "Calculate"
+msgstr ""
+
+#: part/templates/part/part_base.html:529
+msgid "Remove associated image from this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:580
+msgid "No matching images found"
+msgstr ""
+
+#: part/templates/part/part_base.html:676
+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:1242 templates/js/translated/part.js:2143
+#: templates/js/translated/part.js:2390 templates/js/translated/stock.js:1059
+#: templates/js/translated/stock.js:2040 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:147
+#: stock/templates/stock/item_base.html:446
+#: templates/js/translated/company.js:1693
+#: templates/js/translated/company.js:1703
+#: templates/js/translated/stock.js:2216
+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/part.js:704
+#: templates/js/translated/part.js:2138 templates/js/translated/part.js:2140
+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/templatetags/inventree_extras.py:185
+msgid "Unknown database"
+msgstr ""
+
+#: part/templatetags/inventree_extras.py:231
+msgid "{version.inventreeInstanceTitle()} v{version.inventreeVersion()}"
+msgstr ""
+
+#: part/views.py:111
+msgid "Match References"
+msgstr ""
+
+#: part/views.py:243
+#, python-brace-format
+msgid "Can't import part {new_part.name} because there is no category assigned"
+msgstr ""
+
+#: part/views.py:384
+msgid "Select Part Image"
+msgstr ""
+
+#: part/views.py:410
+msgid "Updated part image"
+msgstr ""
+
+#: part/views.py:413
+msgid "Part image not found"
+msgstr ""
+
+#: part/views.py:508
+msgid "Part Pricing"
+msgstr ""
+
+#: plugin/base/action/api.py:27
+msgid "No action specified"
+msgstr ""
+
+#: plugin/base/action/api.py:38
+msgid "No matching action found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:126 plugin/base/barcodes/api.py:346
+#: plugin/base/barcodes/api.py:540
+msgid "No match found for barcode data"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:130
+msgid "Match found for barcode data"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:157
+#: templates/js/translated/purchase_order.js:1402
+msgid "Barcode matches existing item"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:309
+msgid "No matching part data found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:326
+msgid "No matching supplier parts found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:331
+msgid "Multiple matching supplier parts found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:356
+msgid "Matched supplier part"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:411
+msgid "Item has already been received"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:449
+msgid "No match for supplier barcode"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:498
+msgid "Multiple matching line items found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:503
+msgid "No matching line item found"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:545 plugin/base/barcodes/api.py:552
+msgid "Barcode does not match an existing stock item"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:563
+msgid "Stock item does not match line item"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:587 templates/js/translated/build.js:2579
+#: templates/js/translated/sales_order.js:1917
+msgid "Insufficient stock available"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:599
+msgid "Stock item allocated to sales order"
+msgstr ""
+
+#: plugin/base/barcodes/api.py:603
+msgid "Not enough information"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:146 plugin/base/barcodes/mixins.py:181
+msgid "Found multiple matching supplier parts for barcode"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:198
+#, 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:207
+msgid "Purchase order does not match supplier"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:436
+msgid "Failed to find pending line item for supplier part"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:469
+msgid "Further information required to receive line item"
+msgstr ""
+
+#: plugin/base/barcodes/mixins.py:480
+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:88
+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:112
+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:126
+msgid "Cannot select a structural location"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:140
+msgid "Sales Order to allocate items against"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:147
+msgid "Sales order is not pending"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:154
+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:167
+msgid "Shipment has already been delivered"
+msgstr ""
+
+#: plugin/base/barcodes/serializers.py:173
+msgid "Quantity to allocate"
+msgstr ""
+
+#: plugin/base/label/label.py:40
+msgid "Label printing failed"
+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:34
+#: plugin/builtin/integration/currency_exchange.py:22
+#: plugin/builtin/labels/inventree_label.py:23
+#: 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:33
+msgid "InvenTree Notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:35
+msgid "Integrated outgoing notification methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:40
+#: plugin/builtin/integration/core_notifications.py:81
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:41
+#: plugin/builtin/integration/core_notifications.py:82
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable slack notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of slack channel messages for event notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:52
+msgid "Slack incoming webhook url"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:53
+msgid "URL that is used to send messages to a slack channel"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:162
+msgid "Open link"
+msgstr ""
+
+#: plugin/builtin/integration/currency_exchange.py:23
+msgid "InvenTree Currency Exchange"
+msgstr ""
+
+#: plugin/builtin/integration/currency_exchange.py:24
+msgid "Default currency exchange integration"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_label.py:20
+msgid "InvenTree PDF label printer"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_label.py:21
+msgid "Provides native support for printing PDF labels"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_label.py:29
+msgid "Debug mode"
+msgstr ""
+
+#: plugin/builtin/labels/inventree_label.py:30
+msgid "Enable debug mode - returns raw HTML instead of PDF"
+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:203
+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:95
+msgid "Label is too large for page size"
+msgstr ""
+
+#: plugin/builtin/labels/label_sheet.py:128
+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:140
+msgid "Permission denied: only staff users can install plugins"
+msgstr ""
+
+#: plugin/installer.py:186
+msgid "Installed plugin successfully"
+msgstr ""
+
+#: plugin/installer.py:192
+#, python-brace-format
+msgid "Installed plugin into {path}"
+msgstr ""
+
+#: plugin/installer.py:201
+msgid "Plugin installation failed"
+msgstr ""
+
+#: plugin/models.py:28
+msgid "Plugin Configuration"
+msgstr ""
+
+#: plugin/models.py:29
+msgid "Plugin Configurations"
+msgstr ""
+
+#: plugin/models.py:34 users/models.py:90
+msgid "Key"
+msgstr ""
+
+#: plugin/models.py:35
+msgid "Key of plugin"
+msgstr ""
+
+#: plugin/models.py:43
+msgid "PluginName of the plugin"
+msgstr ""
+
+#: plugin/models.py:49
+msgid "Is the plugin active"
+msgstr ""
+
+#: plugin/models.py:129 templates/js/translated/table_filters.js:370
+#: templates/js/translated/table_filters.js:500
+msgid "Installed"
+msgstr ""
+
+#: plugin/models.py:138
+msgid "Sample plugin"
+msgstr ""
+
+#: plugin/models.py:146
+msgid "Builtin Plugin"
+msgstr ""
+
+#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9
+#: templates/js/translated/plugin.js:51
+msgid "Plugin"
+msgstr ""
+
+#: plugin/models.py:222
+msgid "Method"
+msgstr ""
+
+#: plugin/plugin.py:265
+msgid "No author found"
+msgstr ""
+
+#: plugin/registry.py:510
+#, python-brace-format
+msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
+msgstr ""
+
+#: plugin/registry.py:512
+#, python-brace-format
+msgid "Plugin requires at least version {v}"
+msgstr ""
+
+#: plugin/registry.py:514
+#, python-brace-format
+msgid "Plugin requires at most version {v}"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:50
+msgid "Enable PO"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:51
+msgid "Enable PO functionality in InvenTree interface"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:56
+msgid "API Key"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:57
+msgid "Key required for accessing external API"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:61
+msgid "Numerical"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:62
+msgid "A numerical setting"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:67
+msgid "Choice Setting"
+msgstr ""
+
+#: plugin/samples/integration/sample.py:68
+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:87
+msgid "Source URL"
+msgstr ""
+
+#: plugin/serializers.py:88
+msgid "Source for the package - this can be a custom registry or a VCS path"
+msgstr ""
+
+#: plugin/serializers.py:93
+msgid "Package Name"
+msgstr ""
+
+#: plugin/serializers.py:94
+msgid "Name for the Plugin Package - can also contain a version indicator"
+msgstr ""
+
+#: plugin/serializers.py:97
+msgid "Confirm plugin installation"
+msgstr ""
+
+#: plugin/serializers.py:98
+msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
+msgstr ""
+
+#: plugin/serializers.py:110
+msgid "Installation not confirmed"
+msgstr ""
+
+#: plugin/serializers.py:112
+msgid "Either packagename of URL must be provided"
+msgstr ""
+
+#: plugin/serializers.py:139
+msgid "Full reload"
+msgstr ""
+
+#: plugin/serializers.py:140
+msgid "Perform a full reload of the plugin registry"
+msgstr ""
+
+#: plugin/serializers.py:145
+msgid "Force reload"
+msgstr ""
+
+#: plugin/serializers.py:146
+msgid "Force a reload of the plugin registry, even if it is already loaded"
+msgstr ""
+
+#: plugin/serializers.py:151
+msgid "Collect plugins"
+msgstr ""
+
+#: plugin/serializers.py:152
+msgid "Collect plugins and add them to the registry"
+msgstr ""
+
+#: plugin/serializers.py:172
+msgid "Activate Plugin"
+msgstr ""
+
+#: plugin/serializers.py:173
+msgid "Activate this plugin"
+msgstr ""
+
+#: report/api.py:173
+msgid "No valid objects provided to template"
+msgstr ""
+
+#: report/api.py:210 report/api.py:246
+#, python-brace-format
+msgid "Template file '{template}' is missing or does not exist"
+msgstr ""
+
+#: report/api.py:323
+msgid "Test report"
+msgstr ""
+
+#: report/helpers.py:15
+msgid "A4"
+msgstr ""
+
+#: report/helpers.py:16
+msgid "A3"
+msgstr ""
+
+#: report/helpers.py:17
+msgid "Legal"
+msgstr ""
+
+#: report/helpers.py:18
+msgid "Letter"
+msgstr ""
+
+#: report/models.py:171
+msgid "Template name"
+msgstr ""
+
+#: report/models.py:177
+msgid "Report template file"
+msgstr ""
+
+#: report/models.py:184
+msgid "Report template description"
+msgstr ""
+
+#: report/models.py:190
+msgid "Report revision number (auto-increments)"
+msgstr ""
+
+#: report/models.py:198
+msgid "Page size for PDF reports"
+msgstr ""
+
+#: report/models.py:204
+msgid "Render report in landscape orientation"
+msgstr ""
+
+#: report/models.py:305
+msgid "Pattern for generating report filenames"
+msgstr ""
+
+#: report/models.py:312
+msgid "Report template is enabled"
+msgstr ""
+
+#: report/models.py:333
+msgid "StockItem query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: report/models.py:341
+msgid "Include Installed Tests"
+msgstr ""
+
+#: report/models.py:342
+msgid "Include test results for stock items installed inside assembled item"
+msgstr ""
+
+#: report/models.py:402
+msgid "Build Filters"
+msgstr ""
+
+#: report/models.py:403
+msgid "Build query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:444
+msgid "Part Filters"
+msgstr ""
+
+#: report/models.py:445
+msgid "Part query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:479
+msgid "Purchase order query filters"
+msgstr ""
+
+#: report/models.py:517
+msgid "Sales order query filters"
+msgstr ""
+
+#: report/models.py:555
+msgid "Return order query filters"
+msgstr ""
+
+#: report/models.py:606
+msgid "Snippet"
+msgstr ""
+
+#: report/models.py:607
+msgid "Report snippet file"
+msgstr ""
+
+#: report/models.py:611
+msgid "Snippet file description"
+msgstr ""
+
+#: report/models.py:647
+msgid "Asset"
+msgstr ""
+
+#: report/models.py:648
+msgid "Report asset file"
+msgstr ""
+
+#: report/models.py:655
+msgid "Asset file description"
+msgstr ""
+
+#: report/models.py:676
+msgid "stock location query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: report/templates/report/inventree_bill_of_materials_report.html:133
+msgid "Materials needed"
+msgstr ""
+
+#: report/templates/report/inventree_build_order_base.html:146
+msgid "Required For"
+msgstr ""
+
+#: report/templates/report/inventree_po_report_base.html:15
+msgid "Supplier was deleted"
+msgstr ""
+
+#: report/templates/report/inventree_po_report_base.html:30
+#: report/templates/report/inventree_so_report_base.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:2109
+#: templates/js/translated/sales_order.js:1837
+msgid "Unit Price"
+msgstr ""
+
+#: report/templates/report/inventree_po_report_base.html:55
+#: report/templates/report/inventree_return_order_report_base.html:48
+#: report/templates/report/inventree_so_report_base.html:55
+msgid "Extra Line Items"
+msgstr ""
+
+#: report/templates/report/inventree_po_report_base.html:72
+#: report/templates/report/inventree_so_report_base.html:72
+#: templates/js/translated/purchase_order.js:2011
+#: templates/js/translated/sales_order.js:1806
+msgid "Total"
+msgstr ""
+
+#: report/templates/report/inventree_return_order_report_base.html:25
+#: report/templates/report/inventree_test_report_base.html:88
+#: stock/models.py:759 stock/templates/stock/item_base.html:311
+#: templates/js/translated/build.js:514 templates/js/translated/build.js:1354
+#: templates/js/translated/build.js:2343
+#: templates/js/translated/model_renderers.js:222
+#: templates/js/translated/return_order.js:540
+#: templates/js/translated/return_order.js:724
+#: templates/js/translated/sales_order.js:315
+#: templates/js/translated/sales_order.js:1611
+#: templates/js/translated/sales_order.js:1696
+#: templates/js/translated/stock.js:596
+msgid "Serial Number"
+msgstr ""
+
+#: report/templates/report/inventree_slr_report.html:97
+msgid "Stock location items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:21
+msgid "Stock Item Test Report"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:97
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:102
+#: stock/models.py:2306 templates/js/translated/stock.js:1475
+msgid "Test"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:103
+#: stock/models.py:2312
+msgid "Result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:130
+msgid "Pass"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:132
+msgid "Fail"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:139
+msgid "No result (required)"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:141
+msgid "No result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:154
+#: stock/templates/stock/stock_sidebar.html:16
+msgid "Installed Items"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:168
+#: stock/admin.py:122 templates/js/translated/stock.js:700
+#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081
+msgid "Serial"
+msgstr ""
+
+#: report/templatetags/report.py:95
+msgid "Asset file does not exist"
+msgstr ""
+
+#: report/templatetags/report.py:144 report/templatetags/report.py:209
+msgid "Image file not found"
+msgstr ""
+
+#: report/templatetags/report.py:230
+msgid "part_image tag requires a Part instance"
+msgstr ""
+
+#: report/templatetags/report.py:269
+msgid "company_image tag requires a Company instance"
+msgstr ""
+
+#: stock/admin.py:40 stock/admin.py:126
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:41 stock/admin.py:127
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:45 stock/templates/stock/location.html:131
+#: stock/templates/stock/location.html:137
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:118
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:125
+msgid "Status Code"
+msgstr ""
+
+#: stock/admin.py:128
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:129
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:130
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:131
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:132 stock/models.py:742
+#: stock/templates/stock/item_base.html:354
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:133
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:135
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:136
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:143
+msgid "Review Needed"
+msgstr ""
+
+#: stock/admin.py:144
+msgid "Delete on Deplete"
+msgstr ""
+
+#: stock/admin.py:149 stock/models.py:823
+#: stock/templates/stock/item_base.html:433
+#: templates/js/translated/stock.js:2200 users/models.py:115
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:499 templates/js/translated/table_filters.js:427
+msgid "External Location"
+msgstr ""
+
+#: stock/api.py:659
+msgid "Part Tree"
+msgstr ""
+
+#: stock/api.py:688
+msgid "Expiry date before"
+msgstr ""
+
+#: stock/api.py:694
+msgid "Expiry date after"
+msgstr ""
+
+#: stock/api.py:699 stock/templates/stock/item_base.html:439
+#: templates/js/translated/table_filters.js:441
+msgid "Stale"
+msgstr ""
+
+#: stock/api.py:778
+msgid "Quantity is required"
+msgstr ""
+
+#: stock/api.py:786
+msgid "Valid part must be supplied"
+msgstr ""
+
+#: stock/api.py:814
+msgid "The given supplier part does not exist"
+msgstr ""
+
+#: stock/api.py:823
+msgid "The supplier part has a pack size defined, but flag use_pack_size not set"
+msgstr ""
+
+#: stock/api.py:846
+msgid "Serial numbers cannot be supplied for a non-trackable part"
+msgstr ""
+
+#: stock/models.py:56
+msgid "Stock Location type"
+msgstr ""
+
+#: stock/models.py:57
+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:118 stock/models.py:726
+#: stock/templates/stock/location.html:17
+#: stock/templates/stock/stock_app_base.html:8
+msgid "Stock Location"
+msgstr ""
+
+#: stock/models.py:119 stock/templates/stock/location.html:179
+#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178
+#: users/models.py:194
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/models.py:148 stock/models.py:862
+#: stock/templates/stock/item_base.html:247
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:149 stock/models.py:863
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:156
+msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
+msgstr ""
+
+#: stock/models.py:162 templates/js/translated/stock.js:2752
+#: templates/js/translated/table_filters.js:243
+msgid "External"
+msgstr ""
+
+#: stock/models.py:163
+msgid "This is an external stock location"
+msgstr ""
+
+#: stock/models.py:169 templates/js/translated/stock.js:2761
+#: templates/js/translated/table_filters.js:246
+msgid "Location type"
+msgstr ""
+
+#: stock/models.py:172
+msgid "Stock location type of this location"
+msgstr ""
+
+#: stock/models.py:237
+msgid "You cannot make this stock location structural because some stock items are already located into it!"
+msgstr ""
+
+#: stock/models.py:593
+msgid "Stock items cannot be located into structural stock locations!"
+msgstr ""
+
+#: stock/models.py:619 stock/serializers.py:229
+msgid "Stock item cannot be created for virtual parts"
+msgstr ""
+
+#: stock/models.py:636
+#, python-brace-format
+msgid "Part type ('{self.supplier_part.part}') must be {self.part}"
+msgstr ""
+
+#: stock/models.py:644 stock/models.py:653
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:645
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:667
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:673
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:687
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:701
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:711
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:719
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:729
+msgid "Where is this stock item located?"
+msgstr ""
+
+#: stock/models.py:736 stock/serializers.py:1298
+msgid "Packaging this stock item is stored in"
+msgstr ""
+
+#: stock/models.py:745
+msgid "Is this item installed in another item?"
+msgstr ""
+
+#: stock/models.py:761
+msgid "Serial number for this item"
+msgstr ""
+
+#: stock/models.py:775 stock/serializers.py:1283
+msgid "Batch code for this stock item"
+msgstr ""
+
+#: stock/models.py:780
+msgid "Stock Quantity"
+msgstr ""
+
+#: stock/models.py:787
+msgid "Source Build"
+msgstr ""
+
+#: stock/models.py:789
+msgid "Build for this stock item"
+msgstr ""
+
+#: stock/models.py:795 stock/templates/stock/item_base.html:363
+msgid "Consumed By"
+msgstr ""
+
+#: stock/models.py:797
+msgid "Build order which consumed this stock item"
+msgstr ""
+
+#: stock/models.py:808
+msgid "Source Purchase Order"
+msgstr ""
+
+#: stock/models.py:811
+msgid "Purchase order for this stock item"
+msgstr ""
+
+#: stock/models.py:817
+msgid "Destination Sales Order"
+msgstr ""
+
+#: stock/models.py:824
+msgid "Expiry date for stock item. Stock will be considered expired after this date"
+msgstr ""
+
+#: stock/models.py:839
+msgid "Delete on deplete"
+msgstr ""
+
+#: stock/models.py:839
+msgid "Delete this Stock Item when stock is depleted"
+msgstr ""
+
+#: stock/models.py:858
+msgid "Single unit purchase price at time of purchase"
+msgstr ""
+
+#: stock/models.py:886
+msgid "Converted to part"
+msgstr ""
+
+#: stock/models.py:1417
+msgid "Part is not set as trackable"
+msgstr ""
+
+#: stock/models.py:1423
+msgid "Quantity must be integer"
+msgstr ""
+
+#: stock/models.py:1429
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({self.quantity})"
+msgstr ""
+
+#: stock/models.py:1432
+msgid "Serial numbers must be a list of integers"
+msgstr ""
+
+#: stock/models.py:1435
+msgid "Quantity does not match serial numbers"
+msgstr ""
+
+#: stock/models.py:1442 stock/serializers.py:449
+msgid "Serial numbers already exist"
+msgstr ""
+
+#: stock/models.py:1513
+msgid "Stock item has been assigned to a sales order"
+msgstr ""
+
+#: stock/models.py:1516
+msgid "Stock item is installed in another item"
+msgstr ""
+
+#: stock/models.py:1519
+msgid "Stock item contains other items"
+msgstr ""
+
+#: stock/models.py:1522
+msgid "Stock item has been assigned to a customer"
+msgstr ""
+
+#: stock/models.py:1525
+msgid "Stock item is currently in production"
+msgstr ""
+
+#: stock/models.py:1528
+msgid "Serialized stock cannot be merged"
+msgstr ""
+
+#: stock/models.py:1535 stock/serializers.py:1194
+msgid "Duplicate stock items"
+msgstr ""
+
+#: stock/models.py:1539
+msgid "Stock items must refer to the same part"
+msgstr ""
+
+#: stock/models.py:1543
+msgid "Stock items must refer to the same supplier part"
+msgstr ""
+
+#: stock/models.py:1547
+msgid "Stock status codes must match"
+msgstr ""
+
+#: stock/models.py:1741
+msgid "StockItem cannot be moved as it is not in stock"
+msgstr ""
+
+#: stock/models.py:2224
+msgid "Entry notes"
+msgstr ""
+
+#: stock/models.py:2282
+msgid "Value must be provided for this test"
+msgstr ""
+
+#: stock/models.py:2288
+msgid "Attachment must be uploaded for this test"
+msgstr ""
+
+#: stock/models.py:2307
+msgid "Test name"
+msgstr ""
+
+#: stock/models.py:2313
+msgid "Test result"
+msgstr ""
+
+#: stock/models.py:2319
+msgid "Test output value"
+msgstr ""
+
+#: stock/models.py:2326
+msgid "Test result attachment"
+msgstr ""
+
+#: stock/models.py:2332
+msgid "Test notes"
+msgstr ""
+
+#: stock/serializers.py:121
+msgid "Serial number is too large"
+msgstr ""
+
+#: stock/serializers.py:222
+msgid "Use pack size when adding: the quantity defined is the number of packs"
+msgstr ""
+
+#: stock/serializers.py:321
+msgid "Purchase price of this stock item, per unit or pack"
+msgstr ""
+
+#: stock/serializers.py:382
+msgid "Enter number of stock items to serialize"
+msgstr ""
+
+#: stock/serializers.py:394
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({q})"
+msgstr ""
+
+#: stock/serializers.py:400
+msgid "Enter serial numbers for new items"
+msgstr ""
+
+#: stock/serializers.py:411 stock/serializers.py:1151 stock/serializers.py:1422
+msgid "Destination stock location"
+msgstr ""
+
+#: stock/serializers.py:418
+msgid "Optional note field"
+msgstr ""
+
+#: stock/serializers.py:428
+msgid "Serial numbers cannot be assigned to this part"
+msgstr ""
+
+#: stock/serializers.py:489
+msgid "Select stock item to install"
+msgstr ""
+
+#: stock/serializers.py:496
+msgid "Quantity to Install"
+msgstr ""
+
+#: stock/serializers.py:497
+msgid "Enter the quantity of items to install"
+msgstr ""
+
+#: stock/serializers.py:502 stock/serializers.py:581 stock/serializers.py:675
+#: stock/serializers.py:731
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:511
+msgid "Quantity to install must be at least 1"
+msgstr ""
+
+#: stock/serializers.py:519
+msgid "Stock item is unavailable"
+msgstr ""
+
+#: stock/serializers.py:526
+msgid "Selected part is not in the Bill of Materials"
+msgstr ""
+
+#: stock/serializers.py:538
+msgid "Quantity to install must not exceed available quantity"
+msgstr ""
+
+#: stock/serializers.py:576
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:615
+msgid "Select part to convert stock item into"
+msgstr ""
+
+#: stock/serializers.py:625
+msgid "Selected part is not a valid option for conversion"
+msgstr ""
+
+#: stock/serializers.py:639
+msgid "Cannot convert stock item with assigned SupplierPart"
+msgstr ""
+
+#: stock/serializers.py:670
+msgid "Destination location for returned item"
+msgstr ""
+
+#: stock/serializers.py:713
+msgid "Select stock items to change status"
+msgstr ""
+
+#: stock/serializers.py:719
+msgid "No stock items selected"
+msgstr ""
+
+#: stock/serializers.py:1006
+msgid "Part must be salable"
+msgstr ""
+
+#: stock/serializers.py:1010
+msgid "Item is allocated to a sales order"
+msgstr ""
+
+#: stock/serializers.py:1014
+msgid "Item is allocated to a build order"
+msgstr ""
+
+#: stock/serializers.py:1045
+msgid "Customer to assign stock items"
+msgstr ""
+
+#: stock/serializers.py:1051
+msgid "Selected company is not a customer"
+msgstr ""
+
+#: stock/serializers.py:1059
+msgid "Stock assignment notes"
+msgstr ""
+
+#: stock/serializers.py:1069 stock/serializers.py:1329
+msgid "A list of stock items must be provided"
+msgstr ""
+
+#: stock/serializers.py:1158
+msgid "Stock merging notes"
+msgstr ""
+
+#: stock/serializers.py:1163
+msgid "Allow mismatched suppliers"
+msgstr ""
+
+#: stock/serializers.py:1164
+msgid "Allow stock items with different supplier parts to be merged"
+msgstr ""
+
+#: stock/serializers.py:1169
+msgid "Allow mismatched status"
+msgstr ""
+
+#: stock/serializers.py:1170
+msgid "Allow stock items with different status codes to be merged"
+msgstr ""
+
+#: stock/serializers.py:1180
+msgid "At least two stock items must be provided"
+msgstr ""
+
+#: stock/serializers.py:1269
+msgid "StockItem primary key value"
+msgstr ""
+
+#: stock/serializers.py:1290
+msgid "Stock item status code"
+msgstr ""
+
+#: stock/serializers.py:1319
+msgid "Stock transaction notes"
+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:279
+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:3239
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item.html:267
+msgid "Delete all test results for this stock item"
+msgstr ""
+
+#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667
+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:1792
+msgid "Count stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:81
+#: templates/js/translated/stock.js:1774
+msgid "Add stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:82
+#: templates/js/translated/stock.js:1783
+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:1801
+msgid "Transfer stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:91
+#: templates/js/translated/stock.js:1855
+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:2111 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:2368
+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:165
+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:507
+#: templates/js/translated/stock.js:1922
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:532
+msgid "Edit Stock Status"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:541
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:552
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:616
+msgid "Select one of the part variants listed below."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:619
+msgid "Warning"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:620
+msgid "This action cannot be easily undone"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:628
+msgid "Convert Stock Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:662
+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:165
+#: stock/templates/stock/location.html:213
+#: stock/templates/stock/location_sidebar.html:5
+msgid "Sublocations"
+msgstr ""
+
+#: stock/templates/stock/location.html:217
+msgid "Create new stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:218
+msgid "New Location"
+msgstr ""
+
+#: stock/templates/stock/location.html:289
+#: templates/js/translated/stock.js:2543
+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:25 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
+msgid "Signup"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:34
+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:42
+msgid "Part Import"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:46
+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:35
+#: templates/InvenTree/settings/sidebar.html:66
+msgid "Plugins"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:41
+#: templates/InvenTree/settings/plugin.html:42
+#: templates/js/translated/plugin.js:151
+msgid "Install Plugin"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:45
+#: templates/js/translated/plugin.js:224
+msgid "Reload Plugins"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:55
+msgid "External plugins are not enabled for this InvenTree installation"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:70
+msgid "Plugin Error Stack"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:79
+msgid "Stage"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin.html:81
+#: 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:42
+#: templates/js/translated/plugin.js:86
+msgid "Version"
+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:492
+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:496
+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:34
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:38
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:46
+#: templates/InvenTree/settings/pricing.html:50
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:50
+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:543 templates/js/translated/helpers.js:105
+#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629
+#: templates/js/translated/stock.js:245 users/models.py:410
+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:2216
+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:1645
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/settings_staff_js.html:309
+#: templates/js/translated/part.js:1646
+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:35
+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:2155 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:31
+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:947
+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:168
+msgid "Active Sessions"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:174
+msgid "Log out active sessions (except this one)"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:175
+msgid "Log Out Active Sessions"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:184
+msgid "<em>unknown on unknown</em>"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:185
+msgid "<em>unknown</em>"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:189
+msgid "IP Address"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:190
+msgid "Device"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:191
+msgid "Last Activity"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:204
+#, python-format
+msgid "%(time)s ago (this session)"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:206
+#, python-format
+msgid "%(time)s ago"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:218
+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:585
+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:770
+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:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:5
+msgid "Sign In"
+msgstr ""
+
+#: templates/account/login.html:21
+msgid "Not a member?"
+msgstr ""
+
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
+msgstr ""
+
+#: templates/account/login.html:45
+msgid "Forgot Password?"
+msgstr ""
+
+#: templates/account/login.html:53
+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:44
+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:27
+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:23
+msgid "Step 2"
+msgstr ""
+
+#: templates/allauth_2fa/setup.html:27
+msgid "Input a token generated by the app:"
+msgstr ""
+
+#: templates/allauth_2fa/setup.html:37
+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:1668 templates/js/translated/build.js:2547
+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:3185
+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:1155
+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:805 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:2491
+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:1182 templates/js/translated/build.js:2585
+#: templates/js/translated/sales_order.js:1910
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2589
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2591
+#: templates/js/translated/part.js:1256
+#: templates/js/translated/sales_order.js:1907
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2593
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2576
+msgid "Consumable item"
+msgstr ""
+
+#: templates/js/translated/bom.js:1279
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:1281
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/translated/bom.js:1283
+msgid "Edit substitute parts"
+msgstr ""
+
+#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:1287
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/translated/bom.js:1307
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:1391
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2476
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/translated/bom.js:1677
+msgid "Inherited from parent BOM"
+msgstr ""
+
+#: templates/js/translated/build.js:142
+msgid "Edit Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
+msgid "Create Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:217
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:226
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:232
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:239
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:291
+msgid "Build order is ready to be completed"
+msgstr ""
+
+#: templates/js/translated/build.js:299
+msgid "This build order cannot be completed as there are incomplete outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:304
+msgid "Build Order is incomplete"
+msgstr ""
+
+#: templates/js/translated/build.js:322
+msgid "Complete Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:363 templates/js/translated/stock.js:119
+#: templates/js/translated/stock.js:294
+msgid "Next available serial number"
+msgstr ""
+
+#: templates/js/translated/build.js:365 templates/js/translated/stock.js:121
+#: templates/js/translated/stock.js:296
+msgid "Latest serial number"
+msgstr ""
+
+#: templates/js/translated/build.js:374
+msgid "The Bill of Materials contains trackable parts"
+msgstr ""
+
+#: templates/js/translated/build.js:375
+msgid "Build outputs must be generated individually"
+msgstr ""
+
+#: templates/js/translated/build.js:383
+msgid "Trackable parts can have serial numbers specified"
+msgstr ""
+
+#: templates/js/translated/build.js:384
+msgid "Enter serial numbers to generate multiple single build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:391
+msgid "Create Build Output"
+msgstr ""
+
+#: templates/js/translated/build.js:422
+msgid "Allocate stock items to this build output"
+msgstr ""
+
+#: templates/js/translated/build.js:430
+msgid "Deallocate stock from build output"
+msgstr ""
+
+#: templates/js/translated/build.js:439
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:447
+msgid "Scrap build output"
+msgstr ""
+
+#: templates/js/translated/build.js:454
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/translated/build.js:474
+msgid "Are you sure you wish to deallocate the selected stock items from this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:492
+msgid "Deallocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:578 templates/js/translated/build.js:706
+#: templates/js/translated/build.js:832
+msgid "Select Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:707
+#: templates/js/translated/build.js:833
+msgid "At least one build output must be selected"
+msgstr ""
+
+#: templates/js/translated/build.js:593
+msgid "Selected build outputs will be marked as complete"
+msgstr ""
+
+#: templates/js/translated/build.js:597 templates/js/translated/build.js:731
+#: templates/js/translated/build.js:855
+msgid "Output"
+msgstr ""
+
+#: templates/js/translated/build.js:625
+msgid "Complete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:722
+msgid "Selected build outputs will be marked as scrapped"
+msgstr ""
+
+#: templates/js/translated/build.js:724
+msgid "Scrapped output are marked as rejected"
+msgstr ""
+
+#: templates/js/translated/build.js:725
+msgid "Allocated stock items will no longer be available"
+msgstr ""
+
+#: templates/js/translated/build.js:726
+msgid "The completion status of the build order will not be adjusted"
+msgstr ""
+
+#: templates/js/translated/build.js:757
+msgid "Scrap Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:847
+msgid "Selected build outputs will be deleted"
+msgstr ""
+
+#: templates/js/translated/build.js:849
+msgid "Build output data will be permanently deleted"
+msgstr ""
+
+#: templates/js/translated/build.js:850
+msgid "Allocated stock items will be returned to stock"
+msgstr ""
+
+#: templates/js/translated/build.js:868
+msgid "Delete Build Outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:955
+msgid "No build order allocations found"
+msgstr ""
+
+#: templates/js/translated/build.js:984 templates/js/translated/build.js:2332
+msgid "Allocated Quantity"
+msgstr ""
+
+#: templates/js/translated/build.js:998
+msgid "Location not specified"
+msgstr ""
+
+#: templates/js/translated/build.js:1020
+msgid "Complete outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1038
+msgid "Scrap outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1056
+msgid "Delete outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1110
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:1111
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1115
+msgid "Build output actions"
+msgstr ""
+
+#: templates/js/translated/build.js:1284
+msgid "No active build outputs found"
+msgstr ""
+
+#: templates/js/translated/build.js:1377
+msgid "Allocated Lines"
+msgstr ""
+
+#: templates/js/translated/build.js:1391
+msgid "Required Tests"
+msgstr ""
+
+#: templates/js/translated/build.js:1563
+#: templates/js/translated/purchase_order.js:630
+#: templates/js/translated/sales_order.js:1171
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/translated/build.js:1564
+#: templates/js/translated/sales_order.js:1172
+msgid "You must select at least one part to allocate"
+msgstr ""
+
+#: templates/js/translated/build.js:1627
+#: templates/js/translated/sales_order.js:1121
+msgid "Specify stock allocation quantity"
+msgstr ""
+
+#: templates/js/translated/build.js:1704
+msgid "All Parts Allocated"
+msgstr ""
+
+#: templates/js/translated/build.js:1705
+msgid "All selected parts have been fully allocated"
+msgstr ""
+
+#: templates/js/translated/build.js:1719
+#: templates/js/translated/sales_order.js:1186
+msgid "Select source location (leave blank to take from all locations)"
+msgstr ""
+
+#: templates/js/translated/build.js:1747
+msgid "Allocate Stock Items to Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:1758
+#: templates/js/translated/sales_order.js:1283
+msgid "No matching stock locations"
+msgstr ""
+
+#: templates/js/translated/build.js:1831
+#: templates/js/translated/sales_order.js:1362
+msgid "No matching stock items"
+msgstr ""
+
+#: templates/js/translated/build.js:1928
+msgid "Automatic Stock Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:1929
+msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
+msgstr ""
+
+#: templates/js/translated/build.js:1931
+msgid "If a location is specified, stock will only be allocated from that location"
+msgstr ""
+
+#: templates/js/translated/build.js:1932
+msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
+msgstr ""
+
+#: templates/js/translated/build.js:1933
+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:1964
+msgid "Allocate Stock Items"
+msgstr ""
+
+#: templates/js/translated/build.js:2070
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/translated/build.js:2105 templates/js/translated/build.js:2470
+#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167
+#: templates/js/translated/part.js:2314 templates/js/translated/part.js:2740
+#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681
+msgid "Select"
+msgstr ""
+
+#: templates/js/translated/build.js:2119
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/translated/build.js:2165
+msgid "Progress"
+msgstr ""
+
+#: templates/js/translated/build.js:2201 templates/js/translated/stock.js:3013
+msgid "No user information"
+msgstr ""
+
+#: templates/js/translated/build.js:2377
+#: templates/js/translated/sales_order.js:1646
+msgid "Edit stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:2378
+#: templates/js/translated/sales_order.js:1647
+msgid "Delete stock allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:2393
+msgid "Edit Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:2405
+msgid "Remove Allocation"
+msgstr ""
+
+#: templates/js/translated/build.js:2446
+msgid "build line"
+msgstr ""
+
+#: templates/js/translated/build.js:2447
+msgid "build lines"
+msgstr ""
+
+#: templates/js/translated/build.js:2465
+msgid "No build lines found"
+msgstr ""
+
+#: templates/js/translated/build.js:2495 templates/js/translated/part.js:790
+#: templates/js/translated/part.js:1202
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/translated/build.js:2530
+msgid "Unit Quantity"
+msgstr ""
+
+#: templates/js/translated/build.js:2581
+#: templates/js/translated/sales_order.js:1915
+msgid "Sufficient stock available"
+msgstr ""
+
+#: templates/js/translated/build.js:2628
+msgid "Consumable Item"
+msgstr ""
+
+#: templates/js/translated/build.js:2633
+msgid "Tracked item"
+msgstr ""
+
+#: templates/js/translated/build.js:2640
+#: templates/js/translated/sales_order.js:2016
+msgid "Build stock"
+msgstr ""
+
+#: templates/js/translated/build.js:2645 templates/js/translated/stock.js:1836
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/translated/build.js:2649
+#: templates/js/translated/sales_order.js:2010
+msgid "Allocate stock"
+msgstr ""
+
+#: templates/js/translated/build.js:2653
+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:352
+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:465
+msgid "Add new Company"
+msgstr ""
+
+#: templates/js/translated/company.js:536
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/translated/company.js:545
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/translated/company.js:560
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/translated/company.js:609
+msgid "Create New Contact"
+msgstr ""
+
+#: templates/js/translated/company.js:625
+#: templates/js/translated/company.js:748
+msgid "Edit Contact"
+msgstr ""
+
+#: templates/js/translated/company.js:662
+msgid "All selected contacts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:668
+#: templates/js/translated/company.js:732
+msgid "Role"
+msgstr ""
+
+#: templates/js/translated/company.js:676
+msgid "Delete Contacts"
+msgstr ""
+
+#: templates/js/translated/company.js:707
+msgid "No contacts found"
+msgstr ""
+
+#: templates/js/translated/company.js:720
+msgid "Phone Number"
+msgstr ""
+
+#: templates/js/translated/company.js:726
+msgid "Email Address"
+msgstr ""
+
+#: templates/js/translated/company.js:752
+msgid "Delete Contact"
+msgstr ""
+
+#: templates/js/translated/company.js:849
+msgid "Create New Address"
+msgstr ""
+
+#: templates/js/translated/company.js:864
+#: templates/js/translated/company.js:1025
+msgid "Edit Address"
+msgstr ""
+
+#: templates/js/translated/company.js:899
+msgid "All selected addresses will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:913
+msgid "Delete Addresses"
+msgstr ""
+
+#: templates/js/translated/company.js:940
+msgid "No addresses found"
+msgstr ""
+
+#: templates/js/translated/company.js:979
+msgid "Postal city"
+msgstr ""
+
+#: templates/js/translated/company.js:985
+msgid "State/province"
+msgstr ""
+
+#: templates/js/translated/company.js:997
+msgid "Courier notes"
+msgstr ""
+
+#: templates/js/translated/company.js:1003
+msgid "Internal notes"
+msgstr ""
+
+#: templates/js/translated/company.js:1029
+msgid "Delete Address"
+msgstr ""
+
+#: templates/js/translated/company.js:1102
+msgid "All selected manufacturer parts will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:1117
+msgid "Delete Manufacturer Parts"
+msgstr ""
+
+#: templates/js/translated/company.js:1151
+msgid "All selected parameters will be deleted"
+msgstr ""
+
+#: templates/js/translated/company.js:1165
+msgid "Delete Parameters"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2242
+msgid "Order parts"
+msgstr ""
+
+#: templates/js/translated/company.js:1198
+msgid "Delete manufacturer parts"
+msgstr ""
+
+#: templates/js/translated/company.js:1230
+msgid "Manufacturer part actions"
+msgstr ""
+
+#: templates/js/translated/company.js:1249
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:1269
+#: templates/js/translated/company.js:1557 templates/js/translated/part.js:798
+#: templates/js/translated/part.js:1210
+msgid "Template part"
+msgstr ""
+
+#: templates/js/translated/company.js:1273
+#: templates/js/translated/company.js:1561 templates/js/translated/part.js:802
+#: templates/js/translated/part.js:1214
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464
+msgid "No parameters found"
+msgstr ""
+
+#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527
+msgid "Edit parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528
+msgid "Delete parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433
+msgid "Edit Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549
+msgid "Delete Parameter"
+msgstr ""
+
+#: templates/js/translated/company.js:1486
+msgid "Delete supplier parts"
+msgstr ""
+
+#: templates/js/translated/company.js:1536
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/translated/company.js:1654
+msgid "Base Units"
+msgstr ""
+
+#: templates/js/translated/company.js:1684
+msgid "Availability"
+msgstr ""
+
+#: templates/js/translated/company.js:1715
+msgid "Edit supplier part"
+msgstr ""
+
+#: templates/js/translated/company.js:1716
+msgid "Delete supplier part"
+msgstr ""
+
+#: templates/js/translated/company.js:1769
+#: templates/js/translated/pricing.js:694
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1779
+#: templates/js/translated/pricing.js:712
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1794
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1823
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1830
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1831
+msgid "Delete price break"
+msgstr ""
+
+#: templates/js/translated/filters.js:186
+#: templates/js/translated/filters.js:672
+msgid "true"
+msgstr ""
+
+#: templates/js/translated/filters.js:190
+#: templates/js/translated/filters.js:673
+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:582
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389
+#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417
+msgid "Action Prohibited"
+msgstr ""
+
+#: templates/js/translated/forms.js:376
+msgid "Create operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:391
+msgid "Update operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:405
+msgid "Delete operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:419
+msgid "View operation not allowed"
+msgstr ""
+
+#: templates/js/translated/forms.js:796
+msgid "Keep this form open"
+msgstr ""
+
+#: templates/js/translated/forms.js:899
+msgid "Enter a valid number"
+msgstr ""
+
+#: templates/js/translated/forms.js:1469 templates/modals.html:19
+#: templates/modals.html:43
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/js/translated/forms.js:1967
+msgid "No results found"
+msgstr ""
+
+#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239
+msgid "Searching"
+msgstr ""
+
+#: templates/js/translated/forms.js:2485
+msgid "Clear input"
+msgstr ""
+
+#: templates/js/translated/forms.js:3071
+msgid "File Column"
+msgstr ""
+
+#: templates/js/translated/forms.js:3071
+msgid "Field Name"
+msgstr ""
+
+#: templates/js/translated/forms.js:3083
+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/index.js:130
+msgid "Allocated Stock"
+msgstr ""
+
+#: templates/js/translated/label.js:53 templates/js/translated/report.js:123
+msgid "Select Items"
+msgstr ""
+
+#: templates/js/translated/label.js:54
+msgid "No items selected for printing"
+msgstr ""
+
+#: templates/js/translated/label.js:72
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/translated/label.js:73
+msgid "No label templates found which match the selected items"
+msgstr ""
+
+#: templates/js/translated/label.js:97
+msgid "selected"
+msgstr ""
+
+#: templates/js/translated/label.js:133
+msgid "Printing Options"
+msgstr ""
+
+#: templates/js/translated/label.js:148
+msgid "Print label"
+msgstr ""
+
+#: templates/js/translated/label.js:148
+msgid "Print labels"
+msgstr ""
+
+#: templates/js/translated/label.js:149
+msgid "Print"
+msgstr ""
+
+#: templates/js/translated/label.js:155
+msgid "Select label template"
+msgstr ""
+
+#: templates/js/translated/label.js:168
+msgid "Select plugin"
+msgstr ""
+
+#: templates/js/translated/label.js:187
+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:1604
+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:1984
+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:308
+msgid "Parent part category"
+msgstr ""
+
+#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175
+msgid "Icon (optional) - Explore all available icons on"
+msgstr ""
+
+#: templates/js/translated/part.js:352
+msgid "Create Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:355
+msgid "Create new category after this one"
+msgstr ""
+
+#: templates/js/translated/part.js:356
+msgid "Part category created"
+msgstr ""
+
+#: templates/js/translated/part.js:370
+msgid "Edit Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:383
+msgid "Are you sure you want to delete this part category?"
+msgstr ""
+
+#: templates/js/translated/part.js:388
+msgid "Move to parent category"
+msgstr ""
+
+#: templates/js/translated/part.js:397
+msgid "Delete Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:401
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:406
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:430
+msgid "Create Part"
+msgstr ""
+
+#: templates/js/translated/part.js:432
+msgid "Create another part after this one"
+msgstr ""
+
+#: templates/js/translated/part.js:433
+msgid "Part created successfully"
+msgstr ""
+
+#: templates/js/translated/part.js:461
+msgid "Edit Part"
+msgstr ""
+
+#: templates/js/translated/part.js:463
+msgid "Part edited"
+msgstr ""
+
+#: templates/js/translated/part.js:474
+msgid "Create Part Variant"
+msgstr ""
+
+#: templates/js/translated/part.js:531
+msgid "Active Part"
+msgstr ""
+
+#: templates/js/translated/part.js:532
+msgid "Part cannot be deleted as it is currently active"
+msgstr ""
+
+#: templates/js/translated/part.js:546
+msgid "Deleting this part cannot be reversed"
+msgstr ""
+
+#: templates/js/translated/part.js:548
+msgid "Any stock items for this part will be deleted"
+msgstr ""
+
+#: templates/js/translated/part.js:549
+msgid "This part will be removed from any Bills of Material"
+msgstr ""
+
+#: templates/js/translated/part.js:550
+msgid "All manufacturer and supplier information for this part will be deleted"
+msgstr ""
+
+#: templates/js/translated/part.js:557
+msgid "Delete Part"
+msgstr ""
+
+#: templates/js/translated/part.js:593
+msgid "You are subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:595
+msgid "You have subscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:600
+msgid "Subscribe to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:602
+msgid "You have unsubscribed to notifications for this item"
+msgstr ""
+
+#: templates/js/translated/part.js:619
+msgid "Validating the BOM will mark each line item as valid"
+msgstr ""
+
+#: templates/js/translated/part.js:629
+msgid "Validate Bill of Materials"
+msgstr ""
+
+#: templates/js/translated/part.js:632
+msgid "Validated Bill of Materials"
+msgstr ""
+
+#: templates/js/translated/part.js:657
+msgid "Copy Bill of Materials"
+msgstr ""
+
+#: templates/js/translated/part.js:685
+#: templates/js/translated/table_filters.js:743
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/translated/part.js:688
+msgid "No stock available"
+msgstr ""
+
+#: templates/js/translated/part.js:748
+msgid "Demand"
+msgstr ""
+
+#: templates/js/translated/part.js:771
+msgid "Unit"
+msgstr ""
+
+#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/translated/part.js:806
+msgid "Subscribed part"
+msgstr ""
+
+#: templates/js/translated/part.js:810
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/translated/part.js:889
+msgid "Schedule generation of a new stocktake report."
+msgstr ""
+
+#: templates/js/translated/part.js:889
+msgid "Once complete, the stocktake report will be available for download."
+msgstr ""
+
+#: templates/js/translated/part.js:897
+msgid "Generate Stocktake Report"
+msgstr ""
+
+#: templates/js/translated/part.js:901
+msgid "Stocktake report scheduled"
+msgstr ""
+
+#: templates/js/translated/part.js:1050
+msgid "No stocktake information available"
+msgstr ""
+
+#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144
+msgid "Edit Stocktake Entry"
+msgstr ""
+
+#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154
+msgid "Delete Stocktake Entry"
+msgstr ""
+
+#: templates/js/translated/part.js:1281
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/translated/part.js:1599
+msgid "No part parameter templates found"
+msgstr ""
+
+#: templates/js/translated/part.js:1662
+msgid "Edit Part Parameter Template"
+msgstr ""
+
+#: templates/js/translated/part.js:1674
+msgid "Any parameters which reference this template will also be deleted"
+msgstr ""
+
+#: templates/js/translated/part.js:1682
+msgid "Delete Part Parameter Template"
+msgstr ""
+
+#: templates/js/translated/part.js:1716
+#: templates/js/translated/purchase_order.js:1648
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/translated/part.js:1859
+#: templates/js/translated/purchase_order.js:2147
+#: templates/js/translated/return_order.js:756
+#: templates/js/translated/sales_order.js:1875
+msgid "This line item is overdue"
+msgstr ""
+
+#: templates/js/translated/part.js:1904
+#: templates/js/translated/purchase_order.js:2214
+msgid "Receive line item"
+msgstr ""
+
+#: templates/js/translated/part.js:1967
+msgid "Delete part relationship"
+msgstr ""
+
+#: templates/js/translated/part.js:1989
+msgid "Delete Part Relationship"
+msgstr ""
+
+#: templates/js/translated/part.js:2077 templates/js/translated/part.js:2504
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/translated/part.js:2198
+msgid "Set the part category for the selected parts"
+msgstr ""
+
+#: templates/js/translated/part.js:2203
+msgid "Set Part Category"
+msgstr ""
+
+#: templates/js/translated/part.js:2233
+msgid "Set category"
+msgstr ""
+
+#: templates/js/translated/part.js:2286
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:2382
+msgid "No category"
+msgstr ""
+
+#: templates/js/translated/part.js:2529 templates/js/translated/part.js:2659
+#: templates/js/translated/stock.js:2640
+msgid "Display as list"
+msgstr ""
+
+#: templates/js/translated/part.js:2545
+msgid "Display as grid"
+msgstr ""
+
+#: templates/js/translated/part.js:2643
+msgid "No subcategories found"
+msgstr ""
+
+#: templates/js/translated/part.js:2679 templates/js/translated/stock.js:2660
+msgid "Display as tree"
+msgstr ""
+
+#: templates/js/translated/part.js:2759
+msgid "Load Subcategories"
+msgstr ""
+
+#: templates/js/translated/part.js:2775
+msgid "Subscribed category"
+msgstr ""
+
+#: templates/js/translated/part.js:2852
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/translated/part.js:2903 templates/js/translated/stock.js:1436
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/translated/part.js:2904 templates/js/translated/stock.js:1437
+#: templates/js/translated/stock.js:1699
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/translated/part.js:2908
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/translated/part.js:2924
+msgid "Edit Test Result Template"
+msgstr ""
+
+#: templates/js/translated/part.js:2938
+msgid "Delete Test Result Template"
+msgstr ""
+
+#: templates/js/translated/part.js:3017 templates/js/translated/part.js:3018
+msgid "No date specified"
+msgstr ""
+
+#: templates/js/translated/part.js:3020
+msgid "Specified date is in the past"
+msgstr ""
+
+#: templates/js/translated/part.js:3026
+msgid "Speculative"
+msgstr ""
+
+#: templates/js/translated/part.js:3076
+msgid "No scheduling information available for this part"
+msgstr ""
+
+#: templates/js/translated/part.js:3082
+msgid "Error fetching scheduling information for this part"
+msgstr ""
+
+#: templates/js/translated/part.js:3178
+msgid "Scheduled Stock Quantities"
+msgstr ""
+
+#: templates/js/translated/part.js:3194
+msgid "Maximum Quantity"
+msgstr ""
+
+#: templates/js/translated/part.js:3239
+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:450
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:467
+#: templates/js/translated/return_order.js:210
+#: templates/js/translated/sales_order.js:500
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:473
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:478
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:479
+#: templates/js/translated/sales_order.js:514
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:502
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:507
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:513
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:534
+#: 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:539
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:631
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:656
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:665
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:683
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:715
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:863
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:882
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1069
+msgid "Select Line Items"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1070
+#: templates/js/translated/return_order.js:492
+msgid "At least one line item must be selected"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1100
+msgid "Received Quantity"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1111
+msgid "Quantity to receive"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1187
+msgid "Stock Status"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1201
+msgid "Add barcode"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1202
+msgid "Remove barcode"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1205
+msgid "Specify location"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1213
+msgid "Add batch code"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1224
+msgid "Add serial numbers"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1276
+msgid "Serials"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1301
+msgid "Order Code"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1303
+msgid "Quantity to Receive"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1329
+#: templates/js/translated/return_order.js:561
+msgid "Confirm receipt of items"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1330
+msgid "Receive Purchase Order Items"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1398
+msgid "Scan Item Barcode"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1399
+msgid "Scan barcode on incoming item (must not match any existing stock items)"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1413
+msgid "Invalid barcode data"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1675
+#: templates/js/translated/return_order.js:286
+#: templates/js/translated/sales_order.js:774
+#: templates/js/translated/sales_order.js:998
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1741
+#: templates/js/translated/return_order.js:354
+#: templates/js/translated/sales_order.js:851
+#: templates/js/translated/sales_order.js:1011
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1837
+msgid "All selected Line items will be deleted"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1855
+msgid "Delete selected Line items?"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1910
+#: templates/js/translated/sales_order.js:2070
+msgid "Duplicate Line Item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1925
+#: templates/js/translated/return_order.js:476
+#: templates/js/translated/return_order.js:669
+#: templates/js/translated/sales_order.js:2083
+msgid "Edit Line Item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:1936
+#: templates/js/translated/return_order.js:682
+#: templates/js/translated/sales_order.js:2094
+msgid "Delete Line Item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:2218
+#: templates/js/translated/sales_order.js:2024
+msgid "Duplicate line item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:2219
+#: templates/js/translated/return_order.js:801
+#: templates/js/translated/sales_order.js:2025
+msgid "Edit line item"
+msgstr ""
+
+#: templates/js/translated/purchase_order.js:2220
+#: templates/js/translated/return_order.js:805
+#: templates/js/translated/sales_order.js:2031
+msgid "Delete line item"
+msgstr ""
+
+#: templates/js/translated/report.js:63
+msgid "items selected"
+msgstr ""
+
+#: templates/js/translated/report.js:71
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:86
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/translated/report.js:140
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/translated/report.js:141
+msgid "No report templates found which match the selected items"
+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:266
+msgid "No return orders found"
+msgstr ""
+
+#: templates/js/translated/return_order.js:300
+#: templates/js/translated/sales_order.js:788
+msgid "Invalid Customer"
+msgstr ""
+
+#: templates/js/translated/return_order.js:562
+msgid "Receive Return Order Items"
+msgstr ""
+
+#: templates/js/translated/return_order.js:693
+#: templates/js/translated/sales_order.js:2230
+msgid "No matching line items"
+msgstr ""
+
+#: templates/js/translated/return_order.js:798
+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:513
+msgid "This order has line items which have not been completed."
+msgstr ""
+
+#: templates/js/translated/sales_order.js:535
+msgid "Issue this Sales Order?"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:540
+msgid "Issue Sales Order"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:559
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:564
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/sales_order.js:618
+msgid "Create New Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:728
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:908
+msgid "Edit shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:911
+msgid "Complete shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:916
+msgid "Delete shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:933
+msgid "Edit Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:948
+msgid "Delete Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:981
+msgid "No matching shipments found"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1006
+msgid "Shipment Reference"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1030
+#: templates/js/translated/sales_order.js:1529
+msgid "Not shipped"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1048
+msgid "Tracking"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1052
+msgid "Invoice"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1219
+msgid "Add Shipment"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1270
+msgid "Confirm stock allocation"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1271
+msgid "Allocate Stock Items to Sales Order"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1477
+msgid "No sales order allocations found"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1569
+msgid "Edit Stock Allocation"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1583
+msgid "Confirm Delete Operation"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1584
+msgid "Delete Stock Allocation"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1623
+#: templates/js/translated/sales_order.js:1710
+#: templates/js/translated/stock.js:1744
+msgid "Shipped to customer"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:1631
+#: templates/js/translated/sales_order.js:1719
+msgid "Stock location not specified"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2008
+msgid "Allocate serial numbers"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2012
+msgid "Purchase stock"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2021
+#: templates/js/translated/sales_order.js:2208
+msgid "Calculate price"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2035
+msgid "Cannot be deleted as items have been shipped"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2038
+msgid "Cannot be deleted as items have been allocated"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2109
+msgid "Allocate Serial Numbers"
+msgstr ""
+
+#: templates/js/translated/sales_order.js:2216
+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:342
+msgid "results"
+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:406
+msgid "Add"
+msgstr ""
+
+#: templates/js/translated/stock.js:1046
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1143
+msgid "Quantity cannot be adjusted for serialized stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1143
+msgid "Specify stock quantity"
+msgstr ""
+
+#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1178
+msgid "Select at least one available stock item"
+msgstr ""
+
+#: templates/js/translated/stock.js:1224
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1360
+msgid "PASS"
+msgstr ""
+
+#: templates/js/translated/stock.js:1362
+msgid "FAIL"
+msgstr ""
+
+#: templates/js/translated/stock.js:1367
+msgid "NO RESULT"
+msgstr ""
+
+#: templates/js/translated/stock.js:1429
+msgid "Pass test"
+msgstr ""
+
+#: templates/js/translated/stock.js:1432
+msgid "Add test result"
+msgstr ""
+
+#: templates/js/translated/stock.js:1456
+msgid "No test results found"
+msgstr ""
+
+#: templates/js/translated/stock.js:1520
+msgid "Test Date"
+msgstr ""
+
+#: templates/js/translated/stock.js:1682
+msgid "Edit Test Result"
+msgstr ""
+
+#: templates/js/translated/stock.js:1704
+msgid "Delete Test Result"
+msgstr ""
+
+#: templates/js/translated/stock.js:1736
+msgid "In production"
+msgstr ""
+
+#: templates/js/translated/stock.js:1740
+msgid "Installed in Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:1748
+msgid "Assigned to Sales Order"
+msgstr ""
+
+#: templates/js/translated/stock.js:1754
+msgid "No stock location set"
+msgstr ""
+
+#: templates/js/translated/stock.js:1810
+msgid "Change stock status"
+msgstr ""
+
+#: templates/js/translated/stock.js:1819
+msgid "Merge stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1868
+msgid "Delete stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:1923
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1928
+msgid "Scan to location"
+msgstr ""
+
+#: templates/js/translated/stock.js:1939
+msgid "Stock Actions"
+msgstr ""
+
+#: templates/js/translated/stock.js:1983
+msgid "Load installed items"
+msgstr ""
+
+#: templates/js/translated/stock.js:2061
+msgid "Stock item is in production"
+msgstr ""
+
+#: templates/js/translated/stock.js:2066
+msgid "Stock item assigned to sales order"
+msgstr ""
+
+#: templates/js/translated/stock.js:2069
+msgid "Stock item assigned to customer"
+msgstr ""
+
+#: templates/js/translated/stock.js:2072
+msgid "Serialized stock item has been allocated"
+msgstr ""
+
+#: templates/js/translated/stock.js:2074
+msgid "Stock item has been fully allocated"
+msgstr ""
+
+#: templates/js/translated/stock.js:2076
+msgid "Stock item has been partially allocated"
+msgstr ""
+
+#: templates/js/translated/stock.js:2079
+msgid "Stock item has been installed in another item"
+msgstr ""
+
+#: templates/js/translated/stock.js:2081
+msgid "Stock item has been consumed by a build order"
+msgstr ""
+
+#: templates/js/translated/stock.js:2085
+msgid "Stock item has expired"
+msgstr ""
+
+#: templates/js/translated/stock.js:2087
+msgid "Stock item will expire soon"
+msgstr ""
+
+#: templates/js/translated/stock.js:2092
+msgid "Stock item has been rejected"
+msgstr ""
+
+#: templates/js/translated/stock.js:2094
+msgid "Stock item is lost"
+msgstr ""
+
+#: templates/js/translated/stock.js:2096
+msgid "Stock item is destroyed"
+msgstr ""
+
+#: templates/js/translated/stock.js:2100
+#: templates/js/translated/table_filters.js:350
+msgid "Depleted"
+msgstr ""
+
+#: templates/js/translated/stock.js:2265
+msgid "Supplier part not specified"
+msgstr ""
+
+#: templates/js/translated/stock.js:2312
+msgid "Stock Value"
+msgstr ""
+
+#: templates/js/translated/stock.js:2440
+msgid "No stock items matching query"
+msgstr ""
+
+#: templates/js/translated/stock.js:2544
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2699
+msgid "Load Sublocations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2817
+msgid "Details"
+msgstr ""
+
+#: templates/js/translated/stock.js:2821
+msgid "No changes"
+msgstr ""
+
+#: templates/js/translated/stock.js:2833
+msgid "Part information unavailable"
+msgstr ""
+
+#: templates/js/translated/stock.js:2855
+msgid "Location no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2872
+msgid "Build order no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2887
+msgid "Purchase order no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2904
+msgid "Sales Order no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2921
+msgid "Return Order no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2940
+msgid "Customer no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2958
+msgid "Stock item no longer exists"
+msgstr ""
+
+#: templates/js/translated/stock.js:2976
+msgid "Added"
+msgstr ""
+
+#: templates/js/translated/stock.js:2984
+msgid "Removed"
+msgstr ""
+
+#: templates/js/translated/stock.js:3056
+msgid "No installed items"
+msgstr ""
+
+#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143
+msgid "Uninstall Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:3165
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:3186
+msgid "Install another stock item into this item"
+msgstr ""
+
+#: templates/js/translated/stock.js:3187
+msgid "Stock items can only be installed if they meet the following criteria"
+msgstr ""
+
+#: templates/js/translated/stock.js:3189
+msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:3190
+msgid "The Stock Item is currently available in stock"
+msgstr ""
+
+#: templates/js/translated/stock.js:3191
+msgid "The Stock Item is not already installed in another item"
+msgstr ""
+
+#: templates/js/translated/stock.js:3192
+msgid "The Stock Item is tracked by either a batch code or serial number"
+msgstr ""
+
+#: templates/js/translated/stock.js:3205
+msgid "Select part to install"
+msgstr ""
+
+#: templates/js/translated/stock.js:3268
+msgid "Select one or more stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:3281
+msgid "Selected stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:3285
+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:601
+#: templates/js/translated/table_filters.js:613
+#: templates/js/translated/table_filters.js:654
+msgid "Order status"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:94
+#: templates/js/translated/table_filters.js:618
+#: templates/js/translated/table_filters.js:644
+#: templates/js/translated/table_filters.js:659
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:102
+#: templates/js/translated/table_filters.js:524
+#: templates/js/translated/table_filters.js:626
+#: templates/js/translated/table_filters.js:667
+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:194
+#: templates/js/translated/table_filters.js:775
+msgid "Has Pricing"
+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:707
+msgid "Include subcategories"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:287
+#: templates/js/translated/table_filters.js:755
+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:696
+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:360
+msgid "In Production"
+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:511
+msgid "Build status"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:708
+msgid "Include parts in subcategories"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:713
+msgid "Show active parts"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:721
+msgid "Available stock"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:729
+#: templates/js/translated/table_filters.js:825
+msgid "Has Units"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:730
+msgid "Part has defined units"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:734
+msgid "Has IPN"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:735
+msgid "Part has internal part number"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:739
+msgid "In stock"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:747
+msgid "Purchasable"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:759
+msgid "Has stocktake entries"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:821
+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:190
+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/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:10
+#, python-format
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
+"%(site_name)s.<br>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:90
+msgid "Users"
+msgstr ""
+
+#: users/admin.py:91
+msgid "Select which users are assigned to this group"
+msgstr ""
+
+#: users/admin.py:226
+msgid "The following users are members of multiple groups"
+msgstr ""
+
+#: users/admin.py:253
+msgid "Personal info"
+msgstr ""
+
+#: users/admin.py:254
+msgid "Permissions"
+msgstr ""
+
+#: users/admin.py:257
+msgid "Important dates"
+msgstr ""
+
+#: users/authentication.py:29 users/models.py:129
+msgid "Token has been revoked"
+msgstr ""
+
+#: users/authentication.py:32
+msgid "Token has expired"
+msgstr ""
+
+#: users/models.py:70
+msgid "API Token"
+msgstr ""
+
+#: users/models.py:71
+msgid "API Tokens"
+msgstr ""
+
+#: users/models.py:109
+msgid "Token Name"
+msgstr ""
+
+#: users/models.py:110
+msgid "Custom token name"
+msgstr ""
+
+#: users/models.py:116
+msgid "Token expiry date"
+msgstr ""
+
+#: users/models.py:122
+msgid "Last Seen"
+msgstr ""
+
+#: users/models.py:123
+msgid "Last time the token was used"
+msgstr ""
+
+#: users/models.py:128
+msgid "Revoked"
+msgstr ""
+
+#: users/models.py:393
+msgid "Permission set"
+msgstr ""
+
+#: users/models.py:401
+msgid "Group"
+msgstr ""
+
+#: users/models.py:404
+msgid "View"
+msgstr ""
+
+#: users/models.py:404
+msgid "Permission to view items"
+msgstr ""
+
+#: users/models.py:406
+msgid "Permission to add items"
+msgstr ""
+
+#: users/models.py:408
+msgid "Change"
+msgstr ""
+
+#: users/models.py:408
+msgid "Permissions to edit items"
+msgstr ""
+
+#: users/models.py:410
+msgid "Permission to delete items"
+msgstr ""
diff --git a/src/frontend/.linguirc b/src/frontend/.linguirc
index 7ac5dd79d2..47698afee7 100644
--- a/src/frontend/.linguirc
+++ b/src/frontend/.linguirc
@@ -24,6 +24,7 @@
         "pt-br",
         "ru",
         "sl",
+        "sr",
         "sv",
         "th",
         "tr",