@@ -16,7 +17,7 @@
@@ -41,7 +42,11 @@
{% include "hover_image.html" with image=build.part.image hover=True %}
+ {% if output.serialized %}
+ {{ output.part.full_name }} - {% trans "Serial Number" %} {{ output.serial }}
+ {% else %}
{% decimal output.quantity %} x {{ output.part.full_name }}
+ {% endif %}
diff --git a/InvenTree/build/templates/build/navbar.html b/InvenTree/build/templates/build/navbar.html
index 5e27010861..785e2764b0 100644
--- a/InvenTree/build/templates/build/navbar.html
+++ b/InvenTree/build/templates/build/navbar.html
@@ -17,17 +17,11 @@
{% if build.active %}
-
-
-
- {% trans "Required Parts" %}
-
-
-
-
+
+
- {% trans "In Progress" %}
+ {% trans "Allocate Stock" %}
{% endif %}
diff --git a/InvenTree/build/templates/build/parts.html b/InvenTree/build/templates/build/parts.html
deleted file mode 100644
index f24d82f20d..0000000000
--- a/InvenTree/build/templates/build/parts.html
+++ /dev/null
@@ -1,30 +0,0 @@
-{% extends "build/build_base.html" %}
-{% load static %}
-{% load i18n %}
-{% load status_codes %}
-
-{% block menubar %}
-{% include "build/navbar.html" with tab='parts' %}
-{% endblock %}
-
-{% block heading %}
-{% trans "Required Parts" %}
-{% endblock %}
-
-{% block details %}
-
-
-{% endblock %}
-
-{% block js_ready %}
-
-{{ block.super }}
-
-loadBuildPartsTable($('#parts-table'), {
- part: {{ build.part.pk }},
- build: {{ build.pk }},
- build_quantity: {{ build.quantity }},
- build_remaining: {{ build.remaining }},
-});
-
-{% endblock %}
\ No newline at end of file
diff --git a/InvenTree/build/test_build.py b/InvenTree/build/test_build.py
index 1b7886c018..0beab60d52 100644
--- a/InvenTree/build/test_build.py
+++ b/InvenTree/build/test_build.py
@@ -19,6 +19,18 @@ class BuildTest(TestCase):
def setUp(self):
"""
Initialize data to use for these tests.
+
+ The base Part 'assembly' has a BOM consisting of three parts:
+
+ - 5 x sub_part_1
+ - 3 x sub_part_2
+ - 2 x sub_part_3 (trackable)
+
+ We will build 10x 'assembly' parts, in two build outputs:
+
+ - 3 x output_1
+ - 7 x output_2
+
"""
# Create a base "Part"
@@ -41,17 +53,31 @@ class BuildTest(TestCase):
component=True
)
+ self.sub_part_3 = Part.objects.create(
+ name="Widget C",
+ description="A widget",
+ component=True,
+ trackable=True
+ )
+
# Create BOM item links for the parts
BomItem.objects.create(
part=self.assembly,
sub_part=self.sub_part_1,
- quantity=10
+ quantity=5
)
BomItem.objects.create(
part=self.assembly,
sub_part=self.sub_part_2,
- quantity=25
+ quantity=3
+ )
+
+ # sub_part_3 is trackable!
+ BomItem.objects.create(
+ part=self.assembly,
+ sub_part=self.sub_part_3,
+ quantity=2
)
# Create a "Build" object to make 10x objects
@@ -64,14 +90,14 @@ class BuildTest(TestCase):
# Create some build output (StockItem) objects
self.output_1 = StockItem.objects.create(
part=self.assembly,
- quantity=5,
+ quantity=3,
is_building=True,
build=self.build
)
self.output_2 = StockItem.objects.create(
part=self.assembly,
- quantity=5,
+ quantity=7,
is_building=True,
build=self.build,
)
@@ -82,10 +108,12 @@ class BuildTest(TestCase):
self.stock_2_1 = StockItem.objects.create(part=self.sub_part_2, quantity=5000)
+ self.stock_3_1 = StockItem.objects.create(part=self.sub_part_3, quantity=1000)
+
def test_init(self):
# Perform some basic tests before we start the ball rolling
- self.assertEqual(StockItem.objects.count(), 5)
+ self.assertEqual(StockItem.objects.count(), 6)
# Build is PENDING
self.assertEqual(self.build.status, status.BuildStatus.PENDING)
@@ -100,10 +128,10 @@ class BuildTest(TestCase):
self.assertFalse(self.build.isPartFullyAllocated(self.sub_part_1, self.output_1))
self.assertFalse(self.build.isPartFullyAllocated(self.sub_part_2, self.output_2))
- self.assertEqual(self.build.unallocatedQuantity(self.sub_part_1, self.output_1), 50)
- self.assertEqual(self.build.unallocatedQuantity(self.sub_part_1, self.output_2), 50)
- self.assertEqual(self.build.unallocatedQuantity(self.sub_part_2, self.output_1), 125)
- self.assertEqual(self.build.unallocatedQuantity(self.sub_part_2, self.output_2), 125)
+ self.assertEqual(self.build.unallocatedQuantity(self.sub_part_1, self.output_1), 15)
+ self.assertEqual(self.build.unallocatedQuantity(self.sub_part_1, self.output_2), 35)
+ self.assertEqual(self.build.unallocatedQuantity(self.sub_part_2, self.output_1), 9)
+ self.assertEqual(self.build.unallocatedQuantity(self.sub_part_2, self.output_2), 21)
self.assertFalse(self.build.is_complete)
@@ -144,84 +172,113 @@ class BuildTest(TestCase):
quantity=99
)
- def allocate_stock(self, q11, q12, q21, output):
- # Assign stock to this build
+ def allocate_stock(self, output, allocations):
+ """
+ Allocate stock to this build, against a particular output
- if q11 > 0:
+ Args:
+ output - StockItem object (or None)
+ allocations - Map of {StockItem: quantity}
+ """
+
+ for item, quantity in allocations.items():
BuildItem.objects.create(
build=self.build,
- stock_item=self.stock_1_1,
- quantity=q11,
+ stock_item=item,
+ quantity=quantity,
install_into=output
)
- if q12 > 0:
- BuildItem.objects.create(
- build=self.build,
- stock_item=self.stock_1_2,
- quantity=q12,
- install_into=output
- )
-
- if q21 > 0:
- BuildItem.objects.create(
- build=self.build,
- stock_item=self.stock_2_1,
- quantity=q21,
- install_into=output,
- )
-
- # Attempt to create another identical BuildItem
- b = BuildItem(
- build=self.build,
- stock_item=self.stock_2_1,
- quantity=q21
- )
-
- with self.assertRaises(ValidationError):
- b.clean()
-
def test_partial_allocation(self):
"""
- Partially allocate against output 1
+ Test partial allocation of stock
"""
- self.allocate_stock(50, 50, 200, self.output_1)
+ # Fully allocate tracked stock against build output 1
+ self.allocate_stock(
+ self.output_1,
+ {
+ self.stock_3_1: 6,
+ }
+ )
self.assertTrue(self.build.isFullyAllocated(self.output_1))
+
+ # Partially allocate tracked stock against build output 2
+ self.allocate_stock(
+ self.output_2,
+ {
+ self.stock_3_1: 1,
+ }
+ )
+
self.assertFalse(self.build.isFullyAllocated(self.output_2))
- self.assertTrue(self.build.isPartFullyAllocated(self.sub_part_1, self.output_1))
- self.assertTrue(self.build.isPartFullyAllocated(self.sub_part_2, self.output_1))
-
- self.assertFalse(self.build.isPartFullyAllocated(self.sub_part_1, self.output_2))
- self.assertFalse(self.build.isPartFullyAllocated(self.sub_part_2, self.output_2))
- # Check that the part has been allocated
- self.assertEqual(self.build.allocatedQuantity(self.sub_part_1, self.output_1), 100)
+ # Partially allocate untracked stock against build
+ self.allocate_stock(
+ None,
+ {
+ self.stock_1_1: 1,
+ self.stock_2_1: 1
+ }
+ )
- self.build.unallocateStock(output=self.output_1)
- self.assertEqual(BuildItem.objects.count(), 0)
+ self.assertFalse(self.build.isFullyAllocated(None, verbose=True))
- # Check that the part has been unallocated
- self.assertEqual(self.build.allocatedQuantity(self.sub_part_1, self.output_1), 0)
+ unallocated = self.build.unallocatedParts(None)
+
+ self.assertEqual(len(unallocated), 2)
+
+ self.allocate_stock(
+ None,
+ {
+ self.stock_1_2: 100,
+ }
+ )
+
+ self.assertFalse(self.build.isFullyAllocated(None, verbose=True))
+
+ unallocated = self.build.unallocatedParts(None)
+
+ self.assertEqual(len(unallocated), 1)
+
+ self.build.unallocateUntracked()
+
+ unallocated = self.build.unallocatedParts(None)
+
+ self.assertEqual(len(unallocated), 2)
+
+ self.assertFalse(self.build.areUntrackedPartsFullyAllocated())
+
+ # Now we "fully" allocate the untracked untracked items
+ self.allocate_stock(
+ None,
+ {
+ self.stock_1_1: 50,
+ self.stock_2_1: 50,
+ }
+ )
+
+ self.assertTrue(self.build.areUntrackedPartsFullyAllocated())
def test_auto_allocate(self):
"""
- Test auto-allocation functionality against the build outputs
+ Test auto-allocation functionality against the build outputs.
+
+ Note: auto-allocations only work for un-tracked stock!
"""
- allocations = self.build.getAutoAllocations(self.output_1)
+ allocations = self.build.getAutoAllocations()
self.assertEqual(len(allocations), 1)
- self.build.autoAllocate(self.output_1)
+ self.build.autoAllocate()
self.assertEqual(BuildItem.objects.count(), 1)
- # Check that one part has been fully allocated to the build output
- self.assertTrue(self.build.isPartFullyAllocated(self.sub_part_2, self.output_1))
+ # Check that one un-tracked part has been fully allocated to the build
+ self.assertTrue(self.build.isPartFullyAllocated(self.sub_part_2, None))
- # But, the *other* build output has not been allocated against
- self.assertFalse(self.build.isPartFullyAllocated(self.sub_part_2, self.output_2))
+ self.assertFalse(self.build.isPartFullyAllocated(self.sub_part_1, None))
def test_cancel(self):
"""
@@ -243,9 +300,33 @@ class BuildTest(TestCase):
Test completion of a build output
"""
- self.allocate_stock(50, 50, 250, self.output_1)
- self.allocate_stock(50, 50, 250, self.output_2)
+ # Allocate non-tracked parts
+ self.allocate_stock(
+ None,
+ {
+ self.stock_1_1: self.stock_1_1.quantity, # Allocate *all* stock from this item
+ self.stock_1_2: 10,
+ self.stock_2_1: 30
+ }
+ )
+ # Allocate tracked parts to output_1
+ self.allocate_stock(
+ self.output_1,
+ {
+ self.stock_3_1: 6
+ }
+ )
+
+ # Allocate tracked parts to output_2
+ self.allocate_stock(
+ self.output_2,
+ {
+ self.stock_3_1: 14
+ }
+ )
+
+ self.assertTrue(self.build.isFullyAllocated(None, verbose=True))
self.assertTrue(self.build.isFullyAllocated(self.output_1))
self.assertTrue(self.build.isFullyAllocated(self.output_2))
@@ -265,19 +346,16 @@ class BuildTest(TestCase):
self.assertEqual(BuildItem.objects.count(), 0)
# New stock items should have been created!
- self.assertEqual(StockItem.objects.count(), 4)
-
- a = StockItem.objects.get(pk=self.stock_1_1.pk)
+ self.assertEqual(StockItem.objects.count(), 7)
# This stock item has been depleted!
with self.assertRaises(StockItem.DoesNotExist):
- StockItem.objects.get(pk=self.stock_1_2.pk)
+ StockItem.objects.get(pk=self.stock_1_1.pk)
- c = StockItem.objects.get(pk=self.stock_2_1.pk)
+ # This stock item has *not* been depleted
+ x = StockItem.objects.get(pk=self.stock_2_1.pk)
- # Stock should have been subtracted from the original items
- self.assertEqual(a.quantity, 900)
- self.assertEqual(c.quantity, 4500)
+ self.assertEqual(x.quantity, 4970)
# And 10 new stock items created for the build output
outputs = StockItem.objects.filter(build=self.build)
diff --git a/InvenTree/build/tests.py b/InvenTree/build/tests.py
index 2ac571a726..e16ef9a282 100644
--- a/InvenTree/build/tests.py
+++ b/InvenTree/build/tests.py
@@ -15,7 +15,7 @@ from datetime import datetime, timedelta
from .models import Build
from stock.models import StockItem
-from InvenTree.status_codes import BuildStatus
+from InvenTree.status_codes import BuildStatus, StockStatus
class BuildTestSimple(TestCase):
@@ -335,6 +335,7 @@ class TestBuildViews(TestCase):
'confirm_incomplete': 1,
'location': 1,
'output': self.output.pk,
+ 'stock_status': StockStatus.DAMAGED
},
HTTP_X_REQUESTED_WITH='XMLHttpRequest'
)
@@ -342,6 +343,7 @@ class TestBuildViews(TestCase):
self.assertEqual(response.status_code, 200)
data = json.loads(response.content)
+
self.assertTrue(data['form_valid'])
# Now the build should be able to be completed
diff --git a/InvenTree/build/urls.py b/InvenTree/build/urls.py
index 877b368817..99b6b72818 100644
--- a/InvenTree/build/urls.py
+++ b/InvenTree/build/urls.py
@@ -21,7 +21,6 @@ build_detail_urls = [
url(r'^notes/', views.BuildNotes.as_view(), name='build-notes'),
url(r'^children/', views.BuildDetail.as_view(template_name='build/build_children.html'), name='build-children'),
- url(r'^parts/', views.BuildDetail.as_view(template_name='build/parts.html'), name='build-parts'),
url(r'^attachments/', views.BuildDetail.as_view(template_name='build/attachments.html'), name='build-attachments'),
url(r'^output/', views.BuildDetail.as_view(template_name='build/build_output.html'), name='build-output'),
diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py
index 15ced77130..b41f975a26 100644
--- a/InvenTree/build/views.py
+++ b/InvenTree/build/views.py
@@ -18,8 +18,8 @@ from stock.models import StockLocation, StockItem
from InvenTree.views import AjaxUpdateView, AjaxCreateView, AjaxDeleteView
from InvenTree.views import InvenTreeRoleMixin
-from InvenTree.helpers import str2bool, extract_serial_numbers, normalize
-from InvenTree.status_codes import BuildStatus
+from InvenTree.helpers import str2bool, extract_serial_numbers, normalize, isNull
+from InvenTree.status_codes import BuildStatus, StockStatus
class BuildIndex(InvenTreeRoleMixin, ListView):
@@ -98,16 +98,6 @@ class BuildAutoAllocate(AjaxUpdateView):
initials = super().get_initial()
- # Pointing to a particular build output?
- output = self.get_param('output')
-
- if output:
- try:
- output = StockItem.objects.get(pk=output)
- initials['output'] = output
- except (ValueError, StockItem.DoesNotExist):
- pass
-
return initials
def get_context_data(self, *args, **kwargs):
@@ -119,18 +109,7 @@ class BuildAutoAllocate(AjaxUpdateView):
build = self.get_object()
- form = self.get_form()
-
- output_id = form['output'].value()
-
- try:
- output = StockItem.objects.get(pk=output_id)
- except (ValueError, StockItem.DoesNotExist):
- output = None
-
- if output:
- context['output'] = output
- context['allocations'] = build.getAutoAllocations(output)
+ context['allocations'] = build.getAutoAllocations()
context['build'] = build
@@ -140,18 +119,11 @@ class BuildAutoAllocate(AjaxUpdateView):
form = super().get_form()
- if form['output'].value():
- # Hide the 'output' field
- form.fields['output'].widget = HiddenInput()
-
return form
def validate(self, build, form, **kwargs):
- output = form.cleaned_data.get('output', None)
-
- if not output:
- form.add_error(None, _('Build output must be specified'))
+ pass
def save(self, build, form, **kwargs):
"""
@@ -159,9 +131,7 @@ class BuildAutoAllocate(AjaxUpdateView):
perform auto-allocations
"""
- output = form.cleaned_data.get('output', None)
-
- build.autoAllocate(output)
+ build.autoAllocate()
def get_data(self):
return {
@@ -242,7 +212,7 @@ class BuildOutputCreate(AjaxUpdateView):
# Calculate the required quantity
quantity = max(0, build.remaining - build.incomplete_count)
- initials['quantity'] = quantity
+ initials['output_quantity'] = quantity
return initials
@@ -365,10 +335,16 @@ class BuildUnallocate(AjaxUpdateView):
output_id = request.POST.get('output_id', None)
- try:
- output = StockItem.objects.get(pk=output_id)
- except (ValueError, StockItem.DoesNotExist):
- output = None
+ if output_id:
+
+ # If a "null" output is provided, we are trying to unallocate "untracked" stock
+ if isNull(output_id):
+ output = None
+ else:
+ try:
+ output = StockItem.objects.get(pk=output_id)
+ except (ValueError, StockItem.DoesNotExist):
+ output = None
part_id = request.POST.get('part_id', None)
@@ -383,9 +359,19 @@ class BuildUnallocate(AjaxUpdateView):
form.add_error('confirm', _('Confirm unallocation of build stock'))
form.add_error(None, _('Check the confirmation box'))
else:
- build.unallocateStock(output=output, part=part)
+
valid = True
+ # Unallocate the entire build
+ if not output_id:
+ build.unallocateAll()
+ # Unallocate a single output
+ elif output:
+ build.unallocateOutput(output, part=part)
+ # Unallocate "untracked" parts
+ else:
+ build.unallocateUntracked(part=part)
+
data = {
'form_valid': valid,
}
@@ -410,8 +396,8 @@ class BuildComplete(AjaxUpdateView):
def validate(self, build, form, **kwargs):
- if not build.can_complete:
- form.add_error(None, _('Build order cannot be completed'))
+ if build.incomplete_count > 0:
+ form.add_error(None, _('Build order cannot be completed - incomplete outputs remain'))
def save(self, build, form, **kwargs):
"""
@@ -431,7 +417,7 @@ class BuildOutputComplete(AjaxUpdateView):
View to mark a particular build output as Complete.
- Notifies the user of which parts will be removed from stock.
- - Removes allocated items from stock
+ - Assignes (tracked) allocated items from stock to the build output
- Deletes pending BuildItem objects
"""
@@ -463,11 +449,25 @@ class BuildOutputComplete(AjaxUpdateView):
return form
def validate(self, build, form, **kwargs):
+ """
+ Custom validation steps for the BuildOutputComplete" form
+ """
data = form.cleaned_data
output = data.get('output', None)
+ stock_status = data.get('stock_status', StockStatus.OK)
+
+ # Any "invalid" stock status defaults to OK
+ try:
+ stock_status = int(stock_status)
+ except (ValueError):
+ stock_status = StockStatus.OK
+
+ if int(stock_status) not in StockStatus.keys():
+ form.add_error('stock_status', _('Invalid stock status value selected'))
+
if output:
quantity = data.get('quantity', None)
@@ -559,12 +559,20 @@ class BuildOutputComplete(AjaxUpdateView):
location = data.get('location', None)
output = data.get('output', None)
+ stock_status = data.get('stock_status', StockStatus.OK)
+
+ # Any "invalid" stock status defaults to OK
+ try:
+ stock_status = int(stock_status)
+ except (ValueError):
+ stock_status = StockStatus.OK
# Complete the build output
build.completeBuildOutput(
output,
self.request.user,
location=location,
+ status=stock_status,
)
def get_data(self):
@@ -632,10 +640,12 @@ class BuildAllocate(InvenTreeRoleMixin, DetailView):
build = self.get_object()
part = build.part
- bom_items = part.bom_items
+ bom_items = build.bom_items
context['part'] = part
context['bom_items'] = bom_items
+ context['has_tracked_bom_items'] = build.has_tracked_bom_items()
+ context['has_untracked_bom_items'] = build.has_untracked_bom_items()
context['BuildStatus'] = BuildStatus
context['bom_price'] = build.part.get_price_info(build.quantity, buy=False)
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.mo b/InvenTree/locale/de/LC_MESSAGES/django.mo
index aa43358545..0dd13dedf0 100644
Binary files a/InvenTree/locale/de/LC_MESSAGES/django.mo and b/InvenTree/locale/de/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index cca4a9b415..a8a13ac65a 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-04-17 23:25+0000\n"
+"POT-Creation-Date: 2021-04-21 17:15+1000\n"
"PO-Revision-Date: 2021-03-28 17:47+0200\n"
"Last-Translator: Andreas Kaiser
, Matthias "
"MAIR\n"
@@ -34,8 +34,8 @@ msgstr "Keine passende Aktion gefunden"
msgid "Enter date"
msgstr "Datum eingeben"
-#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120
-#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223
+#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122
+#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
@@ -49,7 +49,7 @@ msgstr "Löschung bestätigen"
msgid "Confirm item deletion"
msgstr "Löschung von Position bestätigen"
-#: InvenTree/forms.py:159 templates/registration/login.html:76
+#: InvenTree/forms.py:159 templates/registration/login.html:77
msgid "Enter password"
msgstr "Passwort eingeben"
@@ -108,7 +108,7 @@ msgstr ""
"Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) "
"übereinstimmen"
-#: InvenTree/models.py:59 stock/models.py:1661
+#: InvenTree/models.py:59 stock/models.py:1662
msgid "Attachment"
msgstr "Anhang"
@@ -124,9 +124,9 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1888
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1908
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:964
+#: templates/js/stock.js:1041
msgid "User"
msgstr "Benutzer"
@@ -135,9 +135,10 @@ msgid "upload date"
msgstr "Hochladedatum"
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:101
-#: part/models.py:686 part/models.py:2029 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2049 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/part.js:109
+#: templates/InvenTree/search.html:289 templates/js/part.js:110
+#: templates/js/part.js:553 templates/js/stock.js:944
msgid "Name"
msgstr "Name"
@@ -145,7 +146,7 @@ msgstr "Name"
#: build/templates/build/detail.html:21 company/models.py:342
#: company/models.py:494 company/templates/company/detail.html:27
#: company/templates/company/manufacturer_part_base.html:72
-#: company/templates/company/supplier_part_base.html:70
+#: company/templates/company/supplier_part_base.html:71
#: company/templates/company/supplier_part_detail.html:31 label/models.py:108
#: order/models.py:101 order/templates/order/purchase_order_detail.html:168
#: part/models.py:710 part/templates/part/detail.html:54
@@ -155,11 +156,12 @@ msgstr "Name"
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:677 templates/js/build.js:944
+#: templates/js/build.js:736 templates/js/build.js:1004
#: templates/js/company.js:56 templates/js/order.js:183
-#: templates/js/order.js:280 templates/js/part.js:168 templates/js/part.js:251
-#: templates/js/part.js:370 templates/js/part.js:566 templates/js/stock.js:554
-#: templates/js/stock.js:938
+#: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252
+#: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643
+#: templates/js/stock.js:554 templates/js/stock.js:956
+#: templates/js/stock.js:1015
msgid "Description"
msgstr "Beschreibung"
@@ -171,92 +173,92 @@ msgstr "Beschreibung (optional)"
msgid "parent"
msgstr "Eltern"
-#: InvenTree/settings.py:480
+#: InvenTree/settings.py:493
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:481
+#: InvenTree/settings.py:494
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:482
+#: InvenTree/settings.py:495
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:483
+#: InvenTree/settings.py:496
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:484
+#: InvenTree/settings.py:497
msgid "Turkish"
msgstr "Türkisch"
-#: InvenTree/status.py:84
+#: InvenTree/status.py:93
msgid "Background worker check failed"
msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen"
-#: InvenTree/status.py:88
+#: InvenTree/status.py:97
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:91
+#: InvenTree/status.py:100
msgid "InvenTree system health checks failed"
msgstr "InvenTree Status-Überprüfung fehlgeschlagen"
-#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135
-#: InvenTree/status_codes.py:228
+#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143
+#: InvenTree/status_codes.py:236
msgid "Pending"
msgstr "Ausstehend"
-#: InvenTree/status_codes.py:95
+#: InvenTree/status_codes.py:103
msgid "Placed"
msgstr "Platziert"
-#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239
msgid "Complete"
msgstr "Fertig"
-#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137
-#: InvenTree/status_codes.py:230
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:238
msgid "Cancelled"
msgstr "Storniert"
-#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138
-#: InvenTree/status_codes.py:180
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:188
msgid "Lost"
msgstr "Verloren"
-#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139
-#: InvenTree/status_codes.py:182
+#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
+#: InvenTree/status_codes.py:190
msgid "Returned"
msgstr "Zurückgegeben"
-#: InvenTree/status_codes.py:136
+#: InvenTree/status_codes.py:144
#: order/templates/order/sales_order_base.html:124
msgid "Shipped"
msgstr "Versendet"
-#: InvenTree/status_codes.py:176
+#: InvenTree/status_codes.py:184
msgid "OK"
msgstr "OK"
-#: InvenTree/status_codes.py:177
+#: InvenTree/status_codes.py:185
msgid "Attention needed"
msgstr "erfordert Eingriff"
-#: InvenTree/status_codes.py:178
+#: InvenTree/status_codes.py:186
msgid "Damaged"
msgstr "Beschädigt"
-#: InvenTree/status_codes.py:179
+#: InvenTree/status_codes.py:187
msgid "Destroyed"
msgstr "Zerstört"
-#: InvenTree/status_codes.py:181
+#: InvenTree/status_codes.py:189
msgid "Rejected"
msgstr "Zurückgewiesen"
-#: InvenTree/status_codes.py:229
+#: InvenTree/status_codes.py:237
msgid "Production"
msgstr "in Arbeit"
@@ -359,33 +361,34 @@ msgstr "Barcode ist bereits BestandsObjekt zugeordnet"
msgid "Barcode associated with StockItem"
msgstr "Barcode zugeordnet zu BestandsObjekt"
-#: build/forms.py:34
+#: build/forms.py:36
msgid "Build Order reference"
msgstr "Bauauftrags-Referenz"
-#: build/forms.py:35
+#: build/forms.py:37
msgid "Order target date"
msgstr "geplantes Bestelldatum"
-#: build/forms.py:39 build/templates/build/build_base.html:107
+#: build/forms.py:41 build/templates/build/build_base.html:136
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:117
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:723 templates/js/order.js:200
+#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
msgid "Target Date"
msgstr "Zieldatum"
-#: build/forms.py:40 build/models.py:224
+#: build/forms.py:42 build/models.py:224
msgid ""
"Target date for build completion. Build will be overdue after this date."
msgstr "Zieldatum für Bauauftrag-Fertigstellung."
-#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1103
+#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227
+#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:94
-#: build/templates/build/detail.html:31 common/models.py:696
+#: build/templates/build/build_base.html:123
+#: build/templates/build/detail.html:31 common/models.py:703
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261
#: order/forms.py:278 order/models.py:593 order/models.py:784
@@ -395,7 +398,7 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:159
#: order/templates/order/sales_order_detail.html:224 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2158
+#: part/forms.py:371 part/forms.py:387 part/models.py:2178
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
#: part/templates/part/part_pricing.html:11
@@ -405,90 +408,106 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1565
+#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566
#: stock/templates/stock/item_base.html:244
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954
-#: templates/js/stock.js:956 templates/js/stock.js:1194
+#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
+#: templates/js/stock.js:1033 templates/js/stock.js:1271
msgid "Quantity"
msgstr "Anzahl"
-#: build/forms.py:46
+#: build/forms.py:48
msgid "Number of items to build"
msgstr "Anzahl der zu bauenden Teile"
-#: build/forms.py:88
+#: build/forms.py:90
msgid "Enter quantity for build output"
msgstr "Menge der Endprodukte angeben"
-#: build/forms.py:92 order/forms.py:233 stock/forms.py:118
+#: build/forms.py:94 order/forms.py:233 stock/forms.py:118
msgid "Serial Numbers"
msgstr "Seriennummer"
-#: build/forms.py:94
+#: build/forms.py:96
msgid "Enter serial numbers for build outputs"
msgstr "Seriennummer für dieses Endprodukt eingeben"
-#: build/forms.py:100
+#: build/forms.py:102
msgid "Confirm creation of build output"
msgstr "Anlage von Endprodukt(en) bestätigen"
-#: build/forms.py:121
+#: build/forms.py:123
msgid "Confirm deletion of build output"
msgstr "Löschen des Endprodukt bestätigen"
-#: build/forms.py:142
+#: build/forms.py:144
msgid "Confirm unallocation of stock"
msgstr "Aufhebung der BestandsZuordnung bestätigen"
-#: build/forms.py:166
+#: build/forms.py:168
msgid "Confirm stock allocation"
msgstr "Bestandszuordnung bestätigen"
-#: build/forms.py:189
+#: build/forms.py:185
msgid "Mark build as complete"
msgstr "Bauauftrag als vollständig markieren"
-#: build/forms.py:213 build/templates/build/auto_allocate.html:18
+#: build/forms.py:209 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
#: stock/templates/stock/item_base.html:274
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:434
+#: templates/js/barcode.js:531 templates/js/build.js:490
#: templates/js/stock.js:641
msgid "Location"
msgstr "Lagerort"
-#: build/forms.py:214
+#: build/forms.py:210
msgid "Location of completed parts"
msgstr "Lagerort der Endprodukte"
-#: build/forms.py:219
+#: build/forms.py:214 build/templates/build/build_base.html:128
+#: build/templates/build/detail.html:59 order/models.py:445
+#: order/templates/order/receive_parts.html:24
+#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
+#: templates/js/barcode.js:119 templates/js/build.js:770
+#: templates/js/order.js:187 templates/js/order.js:285
+#: templates/js/stock.js:628 templates/js/stock.js:1279
+msgid "Status"
+msgstr "Status"
+
+#: build/forms.py:215
+#, fuzzy
+#| msgid "Build output does not match build"
+msgid "Build output stock status"
+msgstr "Endprodukt stimmt nicht mit Bauauftrag überein"
+
+#: build/forms.py:222
msgid "Confirm incomplete"
msgstr "Bauauftrag nicht fertiggestellt"
-#: build/forms.py:220
+#: build/forms.py:223
msgid "Confirm completion with incomplete stock allocation"
msgstr "Fertigstellung mit nicht kompletter Bestandszuordnung bestätigen"
-#: build/forms.py:223
+#: build/forms.py:226
msgid "Confirm build completion"
msgstr "Bauauftrag-Fertigstellung bestätigen"
-#: build/forms.py:243
+#: build/forms.py:251
msgid "Confirm cancel"
msgstr "Abbruch bestätigen"
-#: build/forms.py:243 build/views.py:66
+#: build/forms.py:251 build/views.py:66
msgid "Confirm build cancellation"
msgstr "Bauabbruch bestätigen"
-#: build/forms.py:257
+#: build/forms.py:265
msgid "Select quantity of stock to allocate"
msgstr "Menge der BestandsObjekte für Zuordnung auswählen"
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:38
+#: build/templates/build/build_base.html:63
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -498,7 +517,7 @@ msgstr "Bauauftrag"
#: build/templates/build/index.html:15 order/templates/order/so_builds.html:12
#: order/templates/order/so_navbar.html:19
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
-#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:182
+#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
#: templates/InvenTree/settings/tabs.html:31 users/models.py:41
msgid "Build Orders"
@@ -510,10 +529,10 @@ msgstr "Bauauftragsreferenz"
#: build/models.py:127 order/models.py:99 order/models.py:595
#: order/templates/order/purchase_order_detail.html:195
-#: order/templates/order/sales_order_detail.html:219 part/models.py:2167
+#: order/templates/order/sales_order_detail.html:219 part/models.py:2187
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:509 templates/js/build.js:948
+#: templates/js/build.js:565 templates/js/build.js:1008
msgid "Reference"
msgstr "Referenz"
@@ -521,7 +540,7 @@ msgstr "Referenz"
msgid "Brief description of the build"
msgstr "Kurze Beschreibung des Baus"
-#: build/models.py:146 build/templates/build/build_base.html:124
+#: build/models.py:146 build/templates/build/build_base.html:153
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr "Eltern-Bauauftrag"
@@ -531,28 +550,27 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:89
+#: build/templates/build/build_base.html:118
#: build/templates/build/detail.html:26 company/models.py:669
#: order/models.py:637 order/models.py:669
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:207 part/models.py:321
-#: part/models.py:1856 part/models.py:1868 part/models.py:1886
-#: part/models.py:1961 part/models.py:2057 part/models.py:2142
-#: part/templates/part/part_app_base.html:7
+#: part/models.py:1876 part/models.py:1888 part/models.py:1906
+#: part/models.py:1981 part/models.py:2077 part/models.py:2162
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:14 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
-#: part/templates/part/subcategories.html:17
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:681 templates/js/build.js:921
+#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
-#: templates/js/part.js:232 templates/js/part.js:337 templates/js/stock.js:523
-#: templates/js/stock.js:1266
+#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
+#: templates/js/stock.js:1343
msgid "Part"
msgstr "Teil"
@@ -629,7 +647,7 @@ msgstr "Erstelldatum"
msgid "Target completion date"
msgstr "geplantes Fertigstellungsdatum"
-#: build/models.py:227 order/models.py:218
+#: build/models.py:227 order/models.py:218 templates/js/build.js:788
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
@@ -645,7 +663,7 @@ msgstr "Aufgegeben von"
msgid "User who issued this build order"
msgstr "Nutzer der diesen Bauauftrag erstellt hat"
-#: build/models.py:250 build/templates/build/build_base.html:145
+#: build/models.py:250 build/templates/build/build_base.html:174
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
#: order/templates/order/sales_order_base.html:138 part/models.py:886
@@ -660,7 +678,7 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist"
#: build/models.py:256 build/templates/build/detail.html:91
#: company/templates/company/manufacturer_part_base.html:79
#: company/templates/company/manufacturer_part_detail.html:28
-#: company/templates/company/supplier_part_base.html:77
+#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
#: stock/models.py:426 stock/templates/stock/item_base.html:334
@@ -671,7 +689,7 @@ msgstr "Externer Link"
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
-#: build/models.py:261 build/templates/build/navbar.html:59
+#: build/models.py:261 build/templates/build/navbar.html:53
#: company/models.py:135 company/models.py:501
#: company/templates/company/navbar.html:70
#: company/templates/company/navbar.html:73 order/models.py:123
@@ -684,7 +702,7 @@ msgstr "Link zu einer externen URL"
#: part/templates/part/navbar.html:128
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
-#: stock/models.py:498 stock/models.py:1557 stock/models.py:1667
+#: stock/models.py:498 stock/models.py:1558 stock/models.py:1668
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
@@ -694,143 +712,168 @@ msgstr "Notizen"
msgid "Extra build notes"
msgstr "Extranotizen für den Bauauftrag"
-#: build/models.py:673
+#: build/models.py:739
msgid "No build output specified"
msgstr "kein Endprodukt angegeben"
-#: build/models.py:676
+#: build/models.py:742
msgid "Build output is already completed"
msgstr "Endprodukt bereits hergstellt"
-#: build/models.py:679
+#: build/models.py:745
msgid "Build output does not match Build Order"
msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein"
-#: build/models.py:754
+#: build/models.py:838
msgid "Completed build output"
msgstr "Endprodukt fertigstellen"
-#: build/models.py:996
+#: build/models.py:1118
msgid "BuildItem must be unique for build, stock_item and install_into"
msgstr ""
"Bauauftrags-Objekt muss für Bauauftrag, Lager-Objekt und installiert_in "
"eindeutig sein"
-#: build/models.py:1018
-msgid "Build item must specify a build output"
+#: build/models.py:1143
+#, fuzzy
+#| msgid "Build item must specify a build output"
+msgid ""
+"Build item must specify a build output, as master part is marked as trackable"
msgstr "Bauauftrags-Objekt muss einem Endprodukt zugewiesen sein"
-#: build/models.py:1023
+#: build/models.py:1147
#, python-brace-format
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr "Ausgewähltes BestandsObjekt nicht Stückliste für Teil '{p}' gefunden"
-#: build/models.py:1027
+#: build/models.py:1151
#, python-brace-format
msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
msgstr ""
"Reserviermenge ({n}) muss kleiner Bestandsmenge ({q}) sein. Zugewiesene "
"Anzahl ({n}) darf nicht die verfügbare ({q}) Anzahl überschreiten"
-#: build/models.py:1034 order/models.py:758
+#: build/models.py:1158 order/models.py:758
msgid "StockItem is over-allocated"
msgstr "Zu viele BestandsObjekt zugewiesen"
-#: build/models.py:1038 order/models.py:761
+#: build/models.py:1162 order/models.py:761
msgid "Allocation quantity must be greater than zero"
msgstr "Reserviermenge muss größer null sein"
-#: build/models.py:1042
+#: build/models.py:1166
msgid "Quantity must be 1 for serialized stock"
msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
-#: build/models.py:1082 stock/templates/stock/item_base.html:306
-#: templates/InvenTree/search.html:183 templates/js/build.js:655
+#: build/models.py:1206 stock/templates/stock/item_base.html:306
+#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
msgstr "Bauauftrag"
-#: build/models.py:1083
+#: build/models.py:1207
msgid "Build to allocate parts"
msgstr "Bauauftrag starten um Teile zuzuweisen"
-#: build/models.py:1090 part/templates/part/allocation.html:18
+#: build/models.py:1214 part/templates/part/allocation.html:18
#: part/templates/part/allocation.html:24
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/item_base.html:328
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771
-#: templates/js/stock.js:927 templates/js/stock.js:1185
+#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
+#: templates/js/stock.js:1004 templates/js/stock.js:1262
msgid "Stock Item"
msgstr "BestandsObjekt"
-#: build/models.py:1091
+#: build/models.py:1215
msgid "Source stock item"
msgstr "Quell-BestandsObjekt"
-#: build/models.py:1104
+#: build/models.py:1228
msgid "Stock quantity to allocate to build"
msgstr "BestandsObjekt-Anzahl dem Bauauftrag zuweisen"
-#: build/models.py:1112
+#: build/models.py:1236
msgid "Install into"
msgstr "Installiere in"
-#: build/models.py:1113
+#: build/models.py:1237
msgid "Destination stock item"
msgstr "Ziel-BestandsObjekt"
+#: build/templates/build/allocate.html:7
+#, fuzzy
+#| msgid "Allocate parts"
+msgid "Allocate Parts"
+msgstr "Teile zuordnen"
+
#: build/templates/build/allocate.html:15
-msgid "Incomplete Build Ouputs"
-msgstr "unfertige Endprodukte"
+#, fuzzy
+#| msgid "Allocate Stock to Order"
+msgid "Allocate Stock to Build"
+msgstr "Lagerbestand dem Auftrag zuweisen"
-#: build/templates/build/allocate.html:21
-msgid "Build order has been completed"
-msgstr "Bauauftrag ist vollständig"
+#: build/templates/build/allocate.html:22
+#, fuzzy
+#| msgid "Allocate stock to build output"
+msgid "Allocate stock to build"
+msgstr "Bestand dem Endprodukt zuweisen"
-#: build/templates/build/allocate.html:26
-msgid "Create new build output"
-msgstr "Neues Endprodukt anlegen"
+#: build/templates/build/allocate.html:23
+msgid "Auto Allocate"
+msgstr "Automatisches Zuweisen"
-#: build/templates/build/allocate.html:27
-msgid "Create New Output"
-msgstr "Neues Endprodukt anlegen"
+#: build/templates/build/allocate.html:25 templates/js/build.js:646
+msgid "Unallocate stock"
+msgstr "Bestandszuordnung aufheben"
-#: build/templates/build/allocate.html:30
+#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794
+msgid "Unallocate Stock"
+msgstr "Bestandszuordnung aufheben"
+
+#: build/templates/build/allocate.html:29
msgid "Order required parts"
msgstr "Benötigte Teile bestellen"
-#: build/templates/build/allocate.html:31
+#: build/templates/build/allocate.html:30
#: company/templates/company/detail_manufacturer_part.html:33
#: company/templates/company/detail_supplier_part.html:32 order/views.py:794
#: part/templates/part/category.html:127
msgid "Order Parts"
msgstr "Teile bestellen"
-#: build/templates/build/allocate.html:34 templates/js/build.js:590
-msgid "Unallocate stock"
-msgstr "Bestandszuordnung aufheben"
+#: build/templates/build/allocate.html:36
+#, fuzzy
+#| msgid "This stock item is allocated to Build"
+msgid "Untracked stock has been fully allocated for this Build Order"
+msgstr "Dieses BestandsObjekt ist dem Bau zugewiesen"
-#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784
-msgid "Unallocate Stock"
-msgstr "Bestandszuordnung aufheben"
+#: build/templates/build/allocate.html:40
+#, fuzzy
+#| msgid "This stock item is allocated to Build"
+msgid "Untracked stock has not been fully allocated for this Build Order"
+msgstr "Dieses BestandsObjekt ist dem Bau zugewiesen"
-#: build/templates/build/allocate.html:49
-msgid "Create a new build output"
-msgstr "Neues Endprodukt anlegen"
+#: build/templates/build/allocate.html:47
+#, fuzzy
+#| msgid "This stock item does not have any child items"
+msgid "This Build Order does not have any associated untracked BOM items"
+msgstr "Dieses BestandsObjekt hat keine Kinder"
-#: build/templates/build/allocate.html:50
-msgid "No incomplete build outputs remain."
-msgstr "Keine unfertigen Endprodukte verbleiben."
-
-#: build/templates/build/allocate.html:51
-msgid "Create a new build output using the button above"
-msgstr "Neues Endprodukt mit der Schaltfläche obehalb anlegen"
+#: build/templates/build/allocation_card.html:21
+#: build/templates/build/complete_output.html:46
+#: order/templates/order/sales_order_detail.html:75
+#: order/templates/order/sales_order_detail.html:157
+#: report/templates/report/inventree_test_report_base.html:75
+#: stock/models.py:420 stock/templates/stock/item_base.html:238
+#: templates/js/build.js:474
+msgid "Serial Number"
+msgstr "Seriennummer"
#: build/templates/build/attachments.html:12
-#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52
+#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
@@ -868,81 +911,95 @@ msgstr "Dieser Bauauftrag ist dem Auftrag %(link)s zugeordnet"
msgid "This Build Order is a child of Build Order %(link)s"
msgstr "Dieser Bauauftrag ist dem Bauauftrag %(link)s untergeordnet"
-#: build/templates/build/build_base.html:40
+#: build/templates/build/build_base.html:31
+#, fuzzy
+#| msgid "Build order has been completed"
+msgid "Build Order is ready to mark as completed"
+msgstr "Bauauftrag ist vollständig"
+
+#: build/templates/build/build_base.html:36
+#, fuzzy
+#| msgid "Build order cannot be completed"
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr "Bauauftrag kann nicht fertiggestellt werden"
+
+#: build/templates/build/build_base.html:41
+#, fuzzy
+#| msgid "Required build quantity has not been completed"
+msgid "Required build quantity has not yet been completed"
+msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
+
+#: build/templates/build/build_base.html:46
+#, fuzzy
+#| msgid "This stock item is allocated to Build"
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr "Dieses BestandsObjekt ist dem Bau zugewiesen"
+
+#: build/templates/build/build_base.html:65
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
-#: company/templates/company/supplier_part_base.html:25
+#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:14 part/templates/part/part_base.html:29
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
#: stock/templates/stock/item_base.html:118
-#: stock/templates/stock/location.html:24
+#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr "Admin"
-#: build/templates/build/build_base.html:46
-#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:71
+#: build/templates/build/build_base.html:140
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:41
#: order/templates/order/sales_order_base.html:86
-#: templates/js/table_filters.js:218 templates/js/table_filters.js:237
-#: templates/js/table_filters.js:254
+#: templates/js/table_filters.js:240 templates/js/table_filters.js:259
+#: templates/js/table_filters.js:276
msgid "Overdue"
msgstr "Überfällig"
-#: build/templates/build/build_base.html:55
+#: build/templates/build/build_base.html:80
msgid "Print actions"
msgstr "Aktionen drucken"
-#: build/templates/build/build_base.html:59
+#: build/templates/build/build_base.html:84
msgid "Print Build Order"
msgstr "Bauauftrag drucken"
-#: build/templates/build/build_base.html:65
-msgid "Build actions"
-msgstr "Bau-Auftrag Aktionen"
-
-#: build/templates/build/build_base.html:69
-msgid "Edit Build"
-msgstr "Bauauftrag bearbeiten"
-
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:179
+#: build/templates/build/build_base.html:90
+#: build/templates/build/build_base.html:215
msgid "Complete Build"
msgstr "Bauauftrag fertigstellen"
-#: build/templates/build/build_base.html:72
-#: build/templates/build/build_base.html:170 build/views.py:57
+#: build/templates/build/build_base.html:95
+msgid "Build actions"
+msgstr "Bau-Auftrag Aktionen"
+
+#: build/templates/build/build_base.html:99
+msgid "Edit Build"
+msgstr "Bauauftrag bearbeiten"
+
+#: build/templates/build/build_base.html:101
+#: build/templates/build/build_base.html:199 build/views.py:57
msgid "Cancel Build"
msgstr "Bauauftrag abbrechen"
-#: build/templates/build/build_base.html:85
+#: build/templates/build/build_base.html:114
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr "Bau-Status"
-#: build/templates/build/build_base.html:99
-#: build/templates/build/detail.html:59 order/models.py:445
-#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:710
-#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1202
-msgid "Status"
-msgstr "Status"
-
-#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:140
#, python-format
msgid "This build was due on %(target)s"
msgstr "Bauauftrag war fäälig am %(target)s"
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:147
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr "Fortschritt"
-#: build/templates/build/build_base.html:131
+#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:84 order/models.py:667
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:33
@@ -954,21 +1011,60 @@ msgstr "Fortschritt"
msgid "Sales Order"
msgstr "Auftrag"
-#: build/templates/build/build_base.html:138
+#: build/templates/build/build_base.html:167
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "Aufgegeben von"
+#: build/templates/build/build_base.html:207
+#, fuzzy
+#| msgid "Incomplete Build Ouputs"
+msgid "Incomplete Outputs"
+msgstr "unfertige Endprodukte"
+
+#: build/templates/build/build_base.html:208
+#, fuzzy
+#| msgid "No incomplete build outputs remain."
+msgid "Build Order cannot be completed as incomplete build outputs remain"
+msgstr "Keine unfertigen Endprodukte verbleiben."
+
#: build/templates/build/build_children.html:10
-#: build/templates/build/navbar.html:42
+#: build/templates/build/navbar.html:36
msgid "Child Build Orders"
msgstr "Unter-Bauaufträge"
-#: build/templates/build/build_output.html:10
-#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38
-msgid "Build Outputs"
-msgstr "Endprodukte"
+#: build/templates/build/build_output.html:15
+#, fuzzy
+#| msgid "Incomplete Build Ouputs"
+msgid "Incomplete Build Outputs"
+msgstr "unfertige Endprodukte"
+
+#: build/templates/build/build_output.html:22
+msgid "Create new build output"
+msgstr "Neues Endprodukt anlegen"
+
+#: build/templates/build/build_output.html:23
+msgid "Create New Output"
+msgstr "Neues Endprodukt anlegen"
+
+#: build/templates/build/build_output.html:36
+msgid "Create a new build output"
+msgstr "Neues Endprodukt anlegen"
+
+#: build/templates/build/build_output.html:37
+msgid "No incomplete build outputs remain."
+msgstr "Keine unfertigen Endprodukte verbleiben."
+
+#: build/templates/build/build_output.html:38
+msgid "Create a new build output using the button above"
+msgstr "Neues Endprodukt mit der Schaltfläche obehalb anlegen"
+
+#: build/templates/build/build_output.html:49
+#, fuzzy
+#| msgid "Complete Build Output"
+msgid "Completed Build Outputs"
+msgstr "Endprodukt fertigstellen"
#: build/templates/build/build_output_create.html:7
msgid "The Bill of Materials contains trackable parts"
@@ -996,12 +1092,16 @@ msgid "Are you sure you wish to cancel this build?"
msgstr "Sind Sie sicher, dass sie diesen Bauauftrag abbrechen möchten?"
#: build/templates/build/complete.html:8
-msgid "Build can be completed"
-msgstr "Bauauftrag kann fertiggstellt werden"
+#, fuzzy
+#| msgid "Build order has been completed"
+msgid "Build Order is complete"
+msgstr "Bauauftrag ist vollständig"
#: build/templates/build/complete.html:12
-msgid "Build cannot be completed"
-msgstr "Bauauftrag kann nicht fertiggestellt werden"
+#, fuzzy
+#| msgid "Build order has been completed"
+msgid "Build Order is incomplete"
+msgstr "Bauauftrag ist vollständig"
#: build/templates/build/complete.html:15
msgid "Incompleted build outputs remain"
@@ -1011,19 +1111,29 @@ msgstr "unfertige Endprodukte vorhanden"
msgid "Required build quantity has not been completed"
msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
-#: build/templates/build/complete_output.html:9
-msgid "Stock allocation is complete"
+#: build/templates/build/complete.html:21
+#, fuzzy
+#| msgid "parts have not been fully allocated"
+msgid "Required stock has not been fully allocated"
+msgstr "Teile wurden noch nicht vollständig zugeordnet"
+
+#: build/templates/build/complete_output.html:10
+#, fuzzy
+#| msgid "Stock allocation is complete"
+msgid "Stock allocation is complete for this output"
msgstr "Bestandszuordnung ist vollständig"
-#: build/templates/build/complete_output.html:13
+#: build/templates/build/complete_output.html:14
msgid "Stock allocation is incomplete"
msgstr "Bestandszuordnung ist nicht vollständig"
-#: build/templates/build/complete_output.html:19
-msgid "parts have not been fully allocated"
+#: build/templates/build/complete_output.html:20
+#, fuzzy
+#| msgid "parts have not been fully allocated"
+msgid "tracked parts have not been fully allocated"
msgstr "Teile wurden noch nicht vollständig zugeordnet"
-#: build/templates/build/complete_output.html:40
+#: build/templates/build/complete_output.html:41
msgid "The following items will be created"
msgstr "Die folgenden Objekte werden erstellt"
@@ -1072,14 +1182,14 @@ msgstr "Ziel-Lagerort nicht angegeben"
#: build/templates/build/detail.html:70
#: stock/templates/stock/item_base.html:292 templates/js/stock.js:636
-#: templates/js/stock.js:1209 templates/js/table_filters.js:85
-#: templates/js/table_filters.js:179
+#: templates/js/stock.js:1286 templates/js/table_filters.js:107
+#: templates/js/table_filters.js:201
msgid "Batch"
msgstr "Los"
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718
+#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
msgid "Created"
msgstr "Erstellt"
@@ -1087,8 +1197,7 @@ msgstr "Erstellt"
msgid "No target date set"
msgstr "Kein Ziel-Datum gesetzt"
-#: build/templates/build/detail.html:132 templates/js/build.js:696
-#: templates/js/build.js:728
+#: build/templates/build/detail.html:132 templates/js/build.js:756
msgid "Completed"
msgstr "Fertig"
@@ -1100,7 +1209,7 @@ msgstr "Bauauftrag ist nicht vollständig"
msgid "Alter the quantity of stock allocated to the build output"
msgstr "Anzahl des zugeordneten Bestands für die Endprodukte ändern"
-#: build/templates/build/index.html:28 build/views.py:657
+#: build/templates/build/index.html:28 build/views.py:667
msgid "New Build Order"
msgstr "Neuer Bauauftrag"
@@ -1131,20 +1240,20 @@ msgstr "Bauauftrag-details"
msgid "Details"
msgstr "Details"
-#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23
-#: build/templates/build/parts.html:11
-msgid "Required Parts"
-msgstr "Benötigte Teile"
+#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24
+#: build/views.py:91
+msgid "Allocate Stock"
+msgstr "Lagerbestand zuweisen"
-#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30
-msgid "In Progress"
-msgstr "In Bearbeitung"
+#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32
+msgid "Build Outputs"
+msgstr "Endprodukte"
-#: build/templates/build/navbar.html:45
+#: build/templates/build/navbar.html:39
msgid "Child Builds"
msgstr "Unter-Endprodukte"
-#: build/templates/build/navbar.html:56
+#: build/templates/build/navbar.html:50
msgid "Build Order Notes"
msgstr "Bauauftrag-Notizen"
@@ -1182,66 +1291,70 @@ msgstr ""
msgid "Build was cancelled"
msgstr "Bauauftrag wurde abgebrochen"
-#: build/views.py:91
-msgid "Allocate Stock"
-msgstr "Lagerbestand zuweisen"
-
-#: build/views.py:154 build/views.py:314 build/views.py:485
-msgid "Build output must be specified"
-msgstr "Endprodukt muss angegeben sein"
-
-#: build/views.py:168
+#: build/views.py:138
msgid "Allocated stock to build output"
msgstr "Bestand dem Endprodukt zuweisen"
-#: build/views.py:180
+#: build/views.py:150
msgid "Create Build Output"
msgstr "Endprodukt anlegen"
-#: build/views.py:203 stock/models.py:968 stock/views.py:1789
+#: build/views.py:173 stock/models.py:969 stock/views.py:1789
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
-#: build/views.py:212
+#: build/views.py:182
msgid "Serial numbers required for trackable build output"
msgstr "Seriennummern für verfolgbare Endprodukte benötigt"
-#: build/views.py:278
+#: build/views.py:248
msgid "Delete Build Output"
msgstr "Endprodukt entfernen"
-#: build/views.py:299 build/views.py:383
+#: build/views.py:269 build/views.py:359
msgid "Confirm unallocation of build stock"
msgstr "Entfernung von Bestands-Zuordnung bestätigen"
-#: build/views.py:300 build/views.py:384 stock/views.py:425
+#: build/views.py:270 build/views.py:360 stock/views.py:425
msgid "Check the confirmation box"
msgstr "Bestätigungsbox bestätigen"
-#: build/views.py:312
+#: build/views.py:282
msgid "Build output does not match build"
msgstr "Endprodukt stimmt nicht mit Bauauftrag überein"
-#: build/views.py:326
+#: build/views.py:284 build/views.py:485
+msgid "Build output must be specified"
+msgstr "Endprodukt muss angegeben sein"
+
+#: build/views.py:296
msgid "Build output deleted"
msgstr "Endprodukt gelöscht"
-#: build/views.py:408
+#: build/views.py:394
msgid "Complete Build Order"
msgstr "Bauauftrag fertigstellen"
-#: build/views.py:414
-msgid "Build order cannot be completed"
+#: build/views.py:400
+#, fuzzy
+#| msgid "Build order cannot be completed"
+msgid "Build order cannot be completed - incomplete outputs remain"
msgstr "Bauauftrag kann nicht fertiggestellt werden"
-#: build/views.py:425
+#: build/views.py:411
msgid "Completed build order"
msgstr "Bauauftrag fertiggestellt"
-#: build/views.py:441
+#: build/views.py:427
msgid "Complete Build Output"
msgstr "Endprodukt fertigstellen"
+#: build/views.py:469
+#, fuzzy
+#| msgid "Invalid location selected"
+msgid "Invalid stock status value selected"
+msgstr "Ungültige Ortsauswahl"
+
#: build/views.py:476
msgid "Quantity to complete cannot exceed build output quantity"
msgstr ""
@@ -1252,81 +1365,81 @@ msgstr ""
msgid "Confirm completion of incomplete build"
msgstr "Endprodukt-Fertigstellung bestätigen"
-#: build/views.py:573
+#: build/views.py:581
msgid "Build output completed"
msgstr "Endprodukt fertiggestellt"
-#: build/views.py:711
+#: build/views.py:721
msgid "Created new build"
msgstr "Neuen Bauauftrag angelegt"
-#: build/views.py:732
+#: build/views.py:742
msgid "Edit Build Order Details"
msgstr "Bauauftragdetails bearbeiten"
-#: build/views.py:765
+#: build/views.py:775
msgid "Edited build"
msgstr "Bauauftrag bearbeitet"
-#: build/views.py:774
+#: build/views.py:784
msgid "Delete Build Order"
msgstr "Bauauftrag löschen"
-#: build/views.py:789
+#: build/views.py:799
msgid "Removed parts from build allocation"
msgstr "Teile von Bauzuordnung entfernt"
-#: build/views.py:801
+#: build/views.py:811
msgid "Allocate stock to build output"
msgstr "Bestand dem Endprodukt zuweisen"
-#: build/views.py:844
+#: build/views.py:854
msgid "Item must be currently in stock"
msgstr "Teil muss aktuell im Bestand sein"
-#: build/views.py:850
+#: build/views.py:860
msgid "Stock item is over-allocated"
msgstr "BestandObjekt ist zu oft zugewiesen"
-#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519
-#: templates/js/build.js:778 templates/js/build.js:961
+#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575
+#: templates/js/build.js:838 templates/js/build.js:1021
msgid "Available"
msgstr "verfügbar"
-#: build/views.py:853
+#: build/views.py:863
msgid "Stock item must be selected"
msgstr "BestandsObjekt muss ausgewählt sein"
-#: build/views.py:1016
+#: build/views.py:1026
msgid "Edit Stock Allocation"
msgstr "Bestandszuordnung bearbeiten"
-#: build/views.py:1020
+#: build/views.py:1030
msgid "Updated Build Item"
msgstr "Bauobjekt aktualisiert"
-#: build/views.py:1049
+#: build/views.py:1059
msgid "Add Build Order Attachment"
msgstr "Bauauftrags-Anhang hinzufügen"
-#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172
+#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172
#: stock/views.py:277
msgid "Added attachment"
msgstr "Anhang hinzugefügt"
-#: build/views.py:1098 order/views.py:189 order/views.py:210
+#: build/views.py:1108 order/views.py:189 order/views.py:210
msgid "Edit Attachment"
msgstr "Anhang bearbeiten"
-#: build/views.py:1108 order/views.py:193 order/views.py:214
+#: build/views.py:1118 order/views.py:193 order/views.py:214
msgid "Attachment updated"
msgstr "Anhang aktualisiert"
-#: build/views.py:1118 order/views.py:229 order/views.py:243
+#: build/views.py:1128 order/views.py:229 order/views.py:243
msgid "Delete Attachment"
msgstr "Anhang löschen"
-#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333
+#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333
msgid "Deleted attachment"
msgstr "Anhang gelöscht"
@@ -1338,339 +1451,349 @@ msgstr "InvenTree Instanzname"
msgid "String descriptor for the server instance"
msgstr "Kurze Beschreibung der Instanz"
-#: common/models.py:62 company/models.py:97 company/models.py:98
+#: common/models.py:62
+#, fuzzy
+#| msgid "Instance Name"
+msgid "Use instance name"
+msgstr "Instanzname"
+
+#: common/models.py:63
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:69 company/models.py:97 company/models.py:98
msgid "Company name"
msgstr "Firmenname"
-#: common/models.py:63
+#: common/models.py:70
msgid "Internal company name"
msgstr "interner Firmenname"
-#: common/models.py:68
+#: common/models.py:75
msgid "Base URL"
msgstr "Basis-URL"
-#: common/models.py:69
+#: common/models.py:76
msgid "Base URL for server instance"
msgstr "Basis-URL für dieses Instanz"
-#: common/models.py:75
+#: common/models.py:82
msgid "Default Currency"
msgstr "Standard-Währung"
-#: common/models.py:76
+#: common/models.py:83
msgid "Default currency"
msgstr "Standard-Währung"
-#: common/models.py:82
+#: common/models.py:89
msgid "Download from URL"
msgstr "Von URL herunterladen"
-#: common/models.py:83
+#: common/models.py:90
msgid "Allow download of remote images and files from external URL"
msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt"
-#: common/models.py:89
+#: common/models.py:96
msgid "Barcode Support"
msgstr "Bacode-Feature verwenden"
-#: common/models.py:90
+#: common/models.py:97
msgid "Enable barcode scanner support"
msgstr "Barcode-Scanner Unterstützung"
-#: common/models.py:96
+#: common/models.py:103
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:97
+#: common/models.py:104
msgid "Regular expression pattern for matching Part IPN"
msgstr "RegEx Muster für die Zuordnung von Teil-IPN"
-#: common/models.py:101
+#: common/models.py:108
msgid "Allow Duplicate IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:102
+#: common/models.py:109
msgid "Allow multiple parts to share the same IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:108
+#: common/models.py:115
msgid "Allow Editing IPN"
msgstr "Ändern von IPN erlaubt"
-#: common/models.py:109
+#: common/models.py:116
msgid "Allow changing the IPN value while editing a part"
msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt"
-#: common/models.py:115
+#: common/models.py:122
msgid "Copy Part BOM Data"
msgstr "Teil-Stückliste kopieren"
-#: common/models.py:116
+#: common/models.py:123
msgid "Copy BOM data by default when duplicating a part"
msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird "
-#: common/models.py:122
+#: common/models.py:129
msgid "Copy Part Parameter Data"
msgstr "Teil-Parameter kopieren"
-#: common/models.py:123
+#: common/models.py:130
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:129
+#: common/models.py:136
msgid "Copy Part Test Data"
msgstr "Teil-Testdaten kopieren"
-#: common/models.py:130
+#: common/models.py:137
msgid "Copy test data by default when duplicating a part"
msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:136
+#: common/models.py:143
msgid "Copy Category Parameter Templates"
msgstr "Kategorie-Parametervorlage kopieren"
-#: common/models.py:137
+#: common/models.py:144
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:143
+#: common/models.py:150
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:144
+#: common/models.py:151
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:150 part/models.py:2059 part/templates/part/detail.html:160
+#: common/models.py:157 part/models.py:2079 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:24
-#: templates/js/table_filters.js:288
+#: templates/js/table_filters.js:310
msgid "Template"
msgstr "Vorlage"
-#: common/models.py:151
+#: common/models.py:158
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:157 part/models.py:834 part/templates/part/detail.html:170
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:300
+#: common/models.py:164 part/models.py:834 part/templates/part/detail.html:170
+#: templates/js/table_filters.js:123 templates/js/table_filters.js:322
msgid "Assembly"
msgstr "Baugruppe"
-#: common/models.py:158
+#: common/models.py:165
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:164 part/models.py:840 part/templates/part/detail.html:180
-#: templates/js/table_filters.js:304
+#: common/models.py:171 part/models.py:840 part/templates/part/detail.html:180
+#: templates/js/table_filters.js:326
msgid "Component"
msgstr "Komponente"
-#: common/models.py:165
+#: common/models.py:172
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:171 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:178 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr "Kaufbar"
-#: common/models.py:172
+#: common/models.py:179
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:178 part/models.py:856 part/templates/part/detail.html:210
-#: templates/js/table_filters.js:312
+#: common/models.py:185 part/models.py:856 part/templates/part/detail.html:210
+#: templates/js/table_filters.js:334
msgid "Salable"
msgstr "Verkäuflich"
-#: common/models.py:179
+#: common/models.py:186
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:185 part/models.py:846 part/templates/part/detail.html:190
-#: templates/js/table_filters.js:32 templates/js/table_filters.js:316
+#: common/models.py:192 part/models.py:846 part/templates/part/detail.html:190
+#: templates/js/table_filters.js:32 templates/js/table_filters.js:338
msgid "Trackable"
msgstr "nachverfolgbar"
-#: common/models.py:186
+#: common/models.py:193
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:192 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:199 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:28
msgid "Virtual"
msgstr "Virtuell"
-#: common/models.py:193
+#: common/models.py:200
msgid "Parts are virtual by default"
msgstr "Teile sind grundsätzlich virtuell"
-#: common/models.py:199
+#: common/models.py:206
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:200
+#: common/models.py:207
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:206
+#: common/models.py:213
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/models.py:207
+#: common/models.py:214
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/models.py:213
+#: common/models.py:220
msgid "Page Size"
msgstr "Seitengröße"
-#: common/models.py:214
+#: common/models.py:221
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/models.py:224
+#: common/models.py:231
msgid "Test Reports"
msgstr "Test-Berichte"
-#: common/models.py:225
+#: common/models.py:232
msgid "Enable generation of test reports"
msgstr "Erstellung von Test-Berichten aktivieren"
-#: common/models.py:231
+#: common/models.py:238
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/models.py:232
+#: common/models.py:239
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/models.py:238
+#: common/models.py:245
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/models.py:239
+#: common/models.py:246
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/models.py:245
+#: common/models.py:252
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/models.py:246
+#: common/models.py:253
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
"Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie "
"ablaufen"
-#: common/models.py:248 part/templates/part/detail.html:121
+#: common/models.py:255 part/templates/part/detail.html:121
msgid "days"
msgstr "Tage"
-#: common/models.py:253
+#: common/models.py:260
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:254
+#: common/models.py:261
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:260
+#: common/models.py:267
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:261
+#: common/models.py:268
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:267
+#: common/models.py:274
msgid "Group by Part"
msgstr "Gruppieren nach Teil"
-#: common/models.py:268
+#: common/models.py:275
msgid "Group stock items by part reference in table views"
msgstr "Bestand in Tabellen anhand von Teil-Referenz gruppieren"
-#: common/models.py:274
+#: common/models.py:281
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:275
+#: common/models.py:282
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:281
+#: common/models.py:288
msgid "Build Order Reference Prefix"
msgstr "Bauauftrag-Referenz Präfix"
-#: common/models.py:282
+#: common/models.py:289
msgid "Prefix value for build order reference"
msgstr "Präfix für Bauauftrag-Referenz"
-#: common/models.py:287
+#: common/models.py:294
msgid "Build Order Reference Regex"
msgstr "Bauauftrag-Referenz RegEx"
-#: common/models.py:288
+#: common/models.py:295
msgid "Regular expression pattern for matching build order reference"
msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen"
-#: common/models.py:292
+#: common/models.py:299
msgid "Sales Order Reference Prefix"
msgstr "Auftrags-Referenz Präfix"
-#: common/models.py:293
+#: common/models.py:300
msgid "Prefix value for sales order reference"
msgstr "Präfix für Auftrags-Referenz"
-#: common/models.py:298
+#: common/models.py:305
msgid "Purchase Order Reference Prefix"
msgstr "Bestellungs-Referenz Präfix"
-#: common/models.py:299
+#: common/models.py:306
msgid "Prefix value for purchase order reference"
msgstr "Präfix für Bestellungs-Referenz"
-#: common/models.py:522
+#: common/models.py:529
msgid "Settings key (must be unique - case insensitive"
msgstr ""
"Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird "
"nicht beachtet)"
-#: common/models.py:524
+#: common/models.py:531
msgid "Settings value"
msgstr "Einstellungs-Wert"
-#: common/models.py:559
+#: common/models.py:566
msgid "Must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:582
+#: common/models.py:589
msgid "Value must be a boolean value"
msgstr "Wahrheitswert erforderlich"
-#: common/models.py:593
+#: common/models.py:600
msgid "Value must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:616
+#: common/models.py:623
msgid "Key string must be unique"
msgstr "Schlüsseltext muss eindeutig sein"
-#: common/models.py:697 company/forms.py:177
+#: common/models.py:704 company/forms.py:177
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:705 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:712 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr "Preis"
-#: common/models.py:706
+#: common/models.py:713
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:729
+#: common/models.py:736
msgid "Default"
msgstr "Standard"
@@ -1726,7 +1849,7 @@ msgstr "Hersteller-Teilenummer"
#: company/forms.py:136 company/models.py:330
#: company/templates/company/manufacturer_part_base.html:89
#: company/templates/company/manufacturer_part_detail.html:26
-#: company/templates/company/supplier_part_base.html:100
+#: company/templates/company/supplier_part_base.html:101
#: company/templates/company/supplier_part_detail.html:35
#: order/templates/order/purchase_order_detail.html:183 part/bom.py:171
#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307
@@ -1785,8 +1908,8 @@ msgstr "Anlaufstelle"
#: company/models.py:124 company/models.py:336 company/models.py:488
#: order/models.py:103 part/models.py:743
#: report/templates/report/inventree_build_order_base.html:165
-#: stock/models.py:1559 templates/js/company.js:188 templates/js/company.js:318
-#: templates/js/part.js:430
+#: stock/models.py:1560 templates/js/company.js:188 templates/js/company.js:318
+#: templates/js/part.js:431
msgid "Link"
msgstr "Link"
@@ -1834,7 +1957,7 @@ msgstr "Teil auswählen"
#: company/models.py:323 company/templates/company/detail.html:57
#: company/templates/company/manufacturer_part_base.html:85
#: company/templates/company/manufacturer_part_detail.html:25
-#: company/templates/company/supplier_part_base.html:93
+#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
#: part/bom.py:241 stock/templates/stock/item_base.html:341
#: templates/js/company.js:44 templates/js/company.js:165
@@ -1851,7 +1974,7 @@ msgid "Manufacturer part description"
msgstr "Herstellerteil Beschreibung"
#: company/models.py:469 company/templates/company/detail.html:62
-#: company/templates/company/supplier_part_base.html:83
+#: company/templates/company/supplier_part_base.html:84
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
@@ -1865,7 +1988,7 @@ msgstr "Zulieferer"
msgid "Select supplier"
msgstr "Zulieferer auswählen"
-#: company/models.py:475 company/templates/company/supplier_part_base.html:87
+#: company/models.py:475 company/templates/company/supplier_part_base.html:88
#: company/templates/company/supplier_part_detail.html:26
#: order/templates/order/purchase_order_detail.html:174 part/bom.py:176
#: part/bom.py:287
@@ -1895,8 +2018,8 @@ msgstr "Teil-URL des Zulieferers"
msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
-#: company/models.py:500 company/templates/company/supplier_part_base.html:114
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2170
+#: company/models.py:500 company/templates/company/supplier_part_base.html:115
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2190
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -1910,7 +2033,7 @@ msgstr "Basiskosten"
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
-#: company/models.py:506 company/templates/company/supplier_part_base.html:107
+#: company/models.py:506 company/templates/company/supplier_part_base.html:108
#: stock/models.py:397 stock/templates/stock/item_base.html:299
#: templates/js/stock.js:667
msgid "Packaging"
@@ -1930,7 +2053,7 @@ msgstr "Mehrere bestellen"
#: company/templates/company/assigned_stock.html:10
#: company/templates/company/navbar.html:62
-#: company/templates/company/navbar.html:65 templates/js/build.js:411
+#: company/templates/company/navbar.html:65 templates/js/build.js:467
msgid "Assigned Stock"
msgstr "Zugeordneter Bestand"
@@ -2046,7 +2169,7 @@ msgstr "Teile löschen"
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1080
+#: templates/js/stock.js:1157
msgid "New Part"
msgstr "Neues Teil"
@@ -2093,7 +2216,7 @@ msgstr "Neues Zulieferer-Teil anlegen"
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:74
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1086
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1163
msgid "New Supplier Part"
msgstr "Neues Zulieferer-Teil"
@@ -2109,12 +2232,12 @@ msgstr "Neuer Zulieferer"
msgid "Create new Supplier"
msgstr "Neuen Zulieferer anlegen"
-#: company/templates/company/index.html:7
+#: company/templates/company/index.html:8
msgid "Supplier List"
msgstr "Zulieferer-Liste"
#: company/templates/company/manufacturer_part_base.html:36
-#: company/templates/company/supplier_part_base.html:35
+#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
msgid "Order part"
@@ -2135,7 +2258,7 @@ msgstr "Herstellerteil Details"
#: company/templates/company/manufacturer_part_base.html:62
#: company/templates/company/manufacturer_part_detail.html:18
-#: company/templates/company/supplier_part_base.html:60
+#: company/templates/company/supplier_part_base.html:61
#: company/templates/company/supplier_part_detail.html:18
msgid "Internal Part"
msgstr "Internes Teil"
@@ -2167,12 +2290,12 @@ msgstr "HerstellerTeil Bestand"
#: company/templates/company/navbar.html:41
#: company/templates/company/supplier_part_navbar.html:15
#: part/templates/part/navbar.html:36 stock/api.py:51
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:29
-#: stock/templates/stock/stock_app_base.html:9
-#: templates/InvenTree/index.html:127 templates/InvenTree/search.html:196
+#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:172
-#: templates/js/part.js:397 templates/js/stock.js:563 templates/navbar.html:26
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr "Lagerbestand"
@@ -2193,7 +2316,7 @@ msgstr "Zuliefererteil entfernen"
#: company/templates/company/manufacturer_part_suppliers.html:22
#: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44
#: part/templates/part/related.html:44 part/templates/part/supplier.html:22
-#: stock/views.py:1002 users/models.py:183
+#: stock/views.py:1002 users/models.py:184
msgid "Delete"
msgstr "Löschen"
@@ -2213,8 +2336,12 @@ msgid "Supplied Parts"
msgstr "Zulieferer-Teile"
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:33
-#: stock/templates/stock/location.html:100
-#: stock/templates/stock/location.html:115 templates/InvenTree/search.html:198
+#: stock/templates/stock/location.html:107
+#: stock/templates/stock/location.html:122
+#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location_navbar.html:22
+#: stock/templates/stock/location_navbar.html:29
+#: templates/InvenTree/search.html:198 templates/js/stock.js:968
#: templates/stats.html:72 templates/stats.html:81 users/models.py:40
msgid "Stock Items"
msgstr "BestandsObjekte"
@@ -2226,7 +2353,7 @@ msgstr "BestandsObjekte"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
-#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:227
+#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
#: users/models.py:43
@@ -2238,7 +2365,7 @@ msgstr "Aufträge"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
-#: part/templates/part/orders.html:10 templates/InvenTree/index.html:204
+#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
#: users/models.py:42
@@ -2269,21 +2396,21 @@ msgstr "Neuen Auftrag anlegen"
msgid "New Sales Order"
msgstr "Neuer Auftrag"
-#: company/templates/company/supplier_part_base.html:6
-#: company/templates/company/supplier_part_base.html:19 stock/models.py:382
+#: company/templates/company/supplier_part_base.html:7
+#: company/templates/company/supplier_part_base.html:20 stock/models.py:382
#: stock/templates/stock/item_base.html:358 templates/js/company.js:279
msgid "Supplier Part"
msgstr "Zulieferer-Teil"
-#: company/templates/company/supplier_part_base.html:39
+#: company/templates/company/supplier_part_base.html:40
msgid "Edit supplier part"
msgstr "Zulieferer-Teil bearbeiten"
-#: company/templates/company/supplier_part_base.html:43
+#: company/templates/company/supplier_part_base.html:44
msgid "Delete supplier part"
msgstr "Zulieferer-Teil entfernen"
-#: company/templates/company/supplier_part_base.html:55
+#: company/templates/company/supplier_part_base.html:56
#: company/templates/company/supplier_part_detail.html:10
msgid "Supplier Part Details"
msgstr "Zulieferer-Teildetails"
@@ -2423,7 +2550,7 @@ msgstr "Herstellerteil löschen"
msgid "Edit Supplier Part"
msgstr "Zulieferer-Teil bearbeiten"
-#: company/views.py:578 templates/js/stock.js:1087
+#: company/views.py:578 templates/js/stock.js:1164
msgid "Create new Supplier Part"
msgstr "Neues Zulieferer-Teil anlegen"
@@ -2609,7 +2736,7 @@ msgid "Date order was completed"
msgstr "Datum an dem der Auftrag fertigstellt wurde"
#: order/models.py:243 order/models.py:342 part/views.py:1586
-#: stock/models.py:270 stock/models.py:952
+#: stock/models.py:270 stock/models.py:953
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
@@ -2886,15 +3013,15 @@ msgstr "Position hinzufügen"
#: order/templates/order/purchase_order_detail.html:45
#: order/templates/order/purchase_order_detail.html:125
-#: part/templates/part/category.html:197 part/templates/part/category.html:239
+#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1169
msgid "New Location"
msgstr "Neuer Lagerort"
#: order/templates/order/purchase_order_detail.html:46
#: order/templates/order/purchase_order_detail.html:126
-#: stock/templates/stock/location.html:35
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr "Neuen Lagerort anlegen"
@@ -2931,25 +3058,14 @@ msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen"
#: order/templates/order/receive_parts.html:14 part/api.py:40
#: part/models.py:322 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:95
-#: part/templates/part/category_navbar.html:11
-#: part/templates/part/category_navbar.html:14
+#: part/templates/part/category.html:99
+#: part/templates/part/category_navbar.html:22
+#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
-#: templates/InvenTree/index.html:96 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/navbar.html:23
-#: templates/stats.html:59 templates/stats.html:68 users/models.py:38
-msgid "Parts"
-msgstr "Teile"
-
-#: order/templates/order/receive_parts.html:14 part/api.py:40
-#: part/models.py:322 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:95
-#: part/templates/part/category_navbar.html:11
-#: part/templates/part/category_navbar.html:14
-#: part/templates/part/category_partlist.html:10
-#: templates/InvenTree/index.html:96 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/navbar.html:23
-#: templates/stats.html:59 templates/stats.html:68 users/models.py:38
+#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
+#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/navbar.html:23 templates/stats.html:59 templates/stats.html:68
+#: users/models.py:38
msgid "Parts"
msgstr "Teile"
@@ -2962,7 +3078,7 @@ msgid "Order Code"
msgstr "Bestellnummer"
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:413
+#: part/templates/part/part_base.html:129 templates/js/part.js:414
msgid "On Order"
msgstr "bestellt"
@@ -3006,26 +3122,18 @@ msgstr "Warnung"
msgid "Sales Order Items"
msgstr "Auftrags-Positionen"
-#: order/templates/order/sales_order_detail.html:75
-#: order/templates/order/sales_order_detail.html:157
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:420 stock/templates/stock/item_base.html:238
-#: templates/js/build.js:418
-msgid "Serial Number"
-msgstr "Seriennummer"
-
#: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342
-#: templates/js/build.js:571 templates/js/build.js:984
+#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr "Aktionen"
-#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459
-#: templates/js/build.js:789
+#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515
+#: templates/js/build.js:849
msgid "Edit stock allocation"
msgstr "Bestands-Zuordnung bearbeiten"
-#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461
-#: templates/js/build.js:790
+#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517
+#: templates/js/build.js:850
msgid "Delete stock allocation"
msgstr "Bestands-Zuordnung löschen"
@@ -3037,8 +3145,8 @@ msgstr "Keine passenden Positionen gefunden"
msgid "ID"
msgstr "ID"
-#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523
-#: templates/js/build.js:785
+#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579
+#: templates/js/build.js:845
msgid "Allocated"
msgstr "Zugeordnet"
@@ -3050,7 +3158,7 @@ msgstr "Erledigt"
msgid "Allocate serial numbers"
msgstr "Seriennummern zuweisen"
-#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585
+#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641
msgid "Allocate stock"
msgstr "Lagerbestand zuweisen"
@@ -3058,8 +3166,8 @@ msgstr "Lagerbestand zuweisen"
msgid "Purchase stock"
msgstr "Einkaufs-Bestand"
-#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578
-#: templates/js/build.js:992
+#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634
+#: templates/js/build.js:1052
msgid "Build stock"
msgstr "Baue Bestand"
@@ -3273,7 +3381,7 @@ msgid "Remove allocation"
msgstr "Zuordnung entfernen"
#: part/bom.py:138 part/models.py:72 part/models.py:762
-#: part/templates/part/category.html:62 part/templates/part/detail.html:90
+#: part/templates/part/category.html:66 part/templates/part/detail.html:90
msgid "Default Location"
msgstr "Standard-Lagerort"
@@ -3351,7 +3459,7 @@ msgstr "Zulieferer einschließen"
msgid "Include part supplier data in exported BOM"
msgstr "Zulieferer-Daten in Stückliste-Export einschließen"
-#: part/forms.py:122 part/models.py:2057
+#: part/forms.py:122 part/models.py:2077
msgid "Parent Part"
msgstr "Ausgangsteil"
@@ -3427,7 +3535,7 @@ msgstr "Parameter-Vorlage zu Kategorien dieser Ebene hinzufügen"
msgid "Add parameter template to all categories"
msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen"
-#: part/forms.py:344 part/models.py:2151
+#: part/forms.py:344 part/models.py:2171
msgid "Sub part"
msgstr "Untergeordnetes Teil"
@@ -3447,13 +3555,13 @@ msgstr "Standard Stichwörter"
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
-#: part/models.py:82 part/models.py:2103
-#: part/templates/part/part_app_base.html:9
+#: part/models.py:82 part/models.py:2123
+#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
-#: part/models.py:83 part/templates/part/category.html:19
-#: part/templates/part/category.html:90 part/templates/part/category.html:141
+#: part/models.py:83 part/templates/part/category.html:23
+#: part/templates/part/category.html:94 part/templates/part/category.html:141
#: templates/InvenTree/search.html:127 templates/stats.html:63
#: users/models.py:37
msgid "Part Categories"
@@ -3508,7 +3616,7 @@ msgstr "Variante von"
msgid "Part description"
msgstr "Beschreibung des Teils"
-#: part/models.py:716 part/templates/part/category.html:69
+#: part/models.py:716 part/templates/part/category.html:73
#: part/templates/part/detail.html:67
msgid "Keywords"
msgstr "Schlüsselwörter"
@@ -3517,8 +3625,8 @@ msgstr "Schlüsselwörter"
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:724 part/models.py:2102 part/templates/part/detail.html:73
-#: part/templates/part/set_category.html:15 templates/js/part.js:384
+#: part/models.py:724 part/models.py:2122 part/templates/part/detail.html:73
+#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr "Kategorie"
@@ -3527,7 +3635,7 @@ msgid "Part category"
msgstr "Teile-Kategorie"
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:160
+#: part/templates/part/part_base.html:94 templates/js/part.js:161
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
@@ -3540,7 +3648,7 @@ msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
#: part/models.py:738 part/templates/part/detail.html:35 report/models.py:198
-#: templates/js/part.js:164
+#: templates/js/part.js:165
msgid "Revision"
msgstr "Revision"
@@ -3572,7 +3680,7 @@ msgstr "Minimaler Lagerbestand"
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Lagerbestand"
-#: part/models.py:828 part/models.py:2031 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2051 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr "Einheiten"
@@ -3603,7 +3711,7 @@ msgstr "Kann dieses Teil an Kunden verkauft werden?"
#: part/models.py:861 part/templates/part/detail.html:227
#: templates/js/table_filters.js:20 templates/js/table_filters.js:60
-#: templates/js/table_filters.js:214 templates/js/table_filters.js:283
+#: templates/js/table_filters.js:236 templates/js/table_filters.js:305
msgid "Active"
msgstr "Aktiv"
@@ -3639,170 +3747,170 @@ msgstr "BOM Kontrolldatum"
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1929
+#: part/models.py:1949
msgid "Test templates can only be created for trackable parts"
msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden"
-#: part/models.py:1946
+#: part/models.py:1966
msgid "Test with this name already exists for this part"
msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil"
-#: part/models.py:1966 templates/js/part.js:561 templates/js/stock.js:104
+#: part/models.py:1986 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:1967
+#: part/models.py:1987
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:1972
+#: part/models.py:1992
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:1973
+#: part/models.py:1993
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:1978 templates/js/part.js:570
-#: templates/js/table_filters.js:200
+#: part/models.py:1998 templates/js/part.js:647
+#: templates/js/table_filters.js:222
msgid "Required"
msgstr "benötigt"
-#: part/models.py:1979
+#: part/models.py:1999
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:1984 templates/js/part.js:578
+#: part/models.py:2004 templates/js/part.js:655
msgid "Requires Value"
msgstr "verpflichtender Wert"
-#: part/models.py:1985
+#: part/models.py:2005
msgid "Does this test require a value when adding a test result?"
msgstr ""
"Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?"
-#: part/models.py:1990 templates/js/part.js:585
+#: part/models.py:2010 templates/js/part.js:662
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:1991
+#: part/models.py:2011
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
"Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?"
-#: part/models.py:2024
+#: part/models.py:2044
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:2029
+#: part/models.py:2049
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:2031
+#: part/models.py:2051
msgid "Parameter Units"
msgstr "Parameter Einheit"
-#: part/models.py:2059 part/models.py:2108 part/models.py:2109
+#: part/models.py:2079 part/models.py:2128 part/models.py:2129
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:2061
+#: part/models.py:2081
msgid "Data"
msgstr "Wert"
-#: part/models.py:2061
+#: part/models.py:2081
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:2113 templates/InvenTree/settings/category.html:67
+#: part/models.py:2133 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:2114
+#: part/models.py:2134
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:2143
+#: part/models.py:2163
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:2152
+#: part/models.py:2172
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:2158
+#: part/models.py:2178
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:2160 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2180 templates/js/bom.js:216 templates/js/bom.js:269
msgid "Optional"
msgstr "Optional"
-#: part/models.py:2160
+#: part/models.py:2180
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:2163
+#: part/models.py:2183
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:2164
+#: part/models.py:2184
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:2167
+#: part/models.py:2187
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:2170
+#: part/models.py:2190
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:2172
+#: part/models.py:2192
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:2172
+#: part/models.py:2192
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:2176 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2196 templates/js/bom.js:279 templates/js/bom.js:286
#: templates/js/table_filters.js:50
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:2177
+#: part/models.py:2197
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
"Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt"
-#: part/models.py:2253 part/views.py:1592 part/views.py:1644
+#: part/models.py:2273 part/views.py:1592 part/views.py:1644
#: stock/models.py:260
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:2262 part/models.py:2264
+#: part/models.py:2282 part/models.py:2284
msgid "Sub part must be specified"
msgstr "Zulieferer-Teil muss festgelegt sein"
-#: part/models.py:2267
+#: part/models.py:2287
msgid "BOM Item"
msgstr "Stücklisten-Position"
-#: part/models.py:2384
+#: part/models.py:2404
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:2388
+#: part/models.py:2408
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:2388
+#: part/models.py:2408
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:2420
+#: part/models.py:2440
msgid ""
"Error creating relationship: check that the part is not related to itself "
"and that the relationship is unique"
@@ -3898,7 +4006,7 @@ msgid "All selected BOM items will be deleted"
msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht"
#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1081
+#: templates/js/stock.js:1158
msgid "Create New Part"
msgstr "Neues Teil anlegen"
@@ -4014,39 +4122,42 @@ msgstr "gefertigte Teile"
msgid "Start New Build"
msgstr "Neuen Bauauftrag beginnen"
-#: part/templates/part/category.html:20
+#: part/templates/part/category.html:24
msgid "All parts"
msgstr "Alle Teile"
-#: part/templates/part/category.html:25 part/views.py:2270
+#: part/templates/part/category.html:29 part/views.py:2270
msgid "Create new part category"
msgstr "Teil-Kategorie anlegen"
-#: part/templates/part/category.html:31
+#: part/templates/part/category.html:35
msgid "Edit part category"
msgstr "Teil-Kategorie bearbeiten"
-#: part/templates/part/category.html:36
+#: part/templates/part/category.html:40
msgid "Delete part category"
msgstr "Teil-Kategorie löschen"
-#: part/templates/part/category.html:46 part/templates/part/category.html:85
+#: part/templates/part/category.html:50 part/templates/part/category.html:89
msgid "Category Details"
msgstr "Kategorie-Details"
-#: part/templates/part/category.html:51
+#: part/templates/part/category.html:55
msgid "Category Path"
msgstr "Pfad zur Kategorie"
-#: part/templates/part/category.html:56
+#: part/templates/part/category.html:60
msgid "Category Description"
msgstr "Kategorie-Beschreibung"
-#: part/templates/part/category.html:75
+#: part/templates/part/category.html:79
+#: part/templates/part/category_navbar.html:11
+#: part/templates/part/category_navbar.html:18
+#: part/templates/part/subcategory.html:16
msgid "Subcategories"
msgstr "Unter-Kategorien"
-#: part/templates/part/category.html:80
+#: part/templates/part/category.html:84
msgid "Parts (Including subcategories)"
msgstr "Teile (inklusive Unter-Kategorien)"
@@ -4066,24 +4177,24 @@ msgstr "Teil-Kategorie auswählen"
msgid "Export Data"
msgstr "Exportieren"
-#: part/templates/part/category.html:198
+#: part/templates/part/category.html:186
#: stock/templates/stock/location.html:192 templates/js/stock.js:709
msgid "Create new location"
msgstr "Neuen Lagerort anlegen"
-#: part/templates/part/category.html:203 part/templates/part/category.html:233
+#: part/templates/part/category.html:191 part/templates/part/category.html:221
msgid "New Category"
msgstr "Neue Kategorie"
-#: part/templates/part/category.html:204
+#: part/templates/part/category.html:192
msgid "Create new category"
msgstr "Teil-Kategorie anlegen"
-#: part/templates/part/category.html:234
+#: part/templates/part/category.html:222
msgid "Create new Part Category"
msgstr "Neue Teil-Kategorie anlegen"
-#: part/templates/part/category.html:240 stock/views.py:1359
+#: part/templates/part/category.html:228 stock/views.py:1359
msgid "Create new Stock Location"
msgstr "Neuen Lagerort erstellen"
@@ -4132,8 +4243,8 @@ msgstr ""
"Wenn diese Kat. gelöscht wird, werden diese Teile in die oberste Kat. "
"verschoben"
-#: part/templates/part/category_navbar.html:18
-#: part/templates/part/category_navbar.html:21
+#: part/templates/part/category_navbar.html:34
+#: part/templates/part/category_navbar.html:37
#: part/templates/part/navbar.html:22
msgid "Parameters"
msgstr "Parameter"
@@ -4317,7 +4428,7 @@ msgstr "Neuer Parameter"
#: part/templates/part/params.html:28
#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1654 templates/InvenTree/settings/header.html:8
+#: stock/models.py:1655 templates/InvenTree/settings/header.html:8
#: templates/js/stock.js:124
msgid "Value"
msgstr "Wert"
@@ -4334,7 +4445,7 @@ msgstr "Neue Vorlage"
msgid "Create New Parameter Template"
msgstr "Neue Teilparametervorlage anlegen"
-#: part/templates/part/part_app_base.html:11
+#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr "Teileliste"
@@ -4344,7 +4455,7 @@ msgid "This part is a variant of %(link)s"
msgstr "Dieses Teil ist eine Variante von %(link)s"
#: part/templates/part/part_base.html:33 templates/js/company.js:156
-#: templates/js/company.js:254 templates/js/part.js:75 templates/js/part.js:152
+#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr "Inaktiv"
@@ -4354,19 +4465,19 @@ msgstr "Teil favorisieren"
#: part/templates/part/part_base.html:47
#: stock/templates/stock/item_base.html:131
-#: stock/templates/stock/location.html:44
+#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr "Barcode Aktionen"
#: part/templates/part/part_base.html:49
#: stock/templates/stock/item_base.html:133
-#: stock/templates/stock/location.html:46 templates/qr_button.html:1
+#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "QR-Code anzeigen"
#: part/templates/part/part_base.html:50
#: stock/templates/stock/item_base.html:149
-#: stock/templates/stock/location.html:47
+#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr "Label drucken"
@@ -4394,11 +4505,11 @@ msgstr "Teil bearbeiten"
msgid "Delete part"
msgstr "Teil löschen"
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:134
+#: part/templates/part/part_base.html:123 templates/js/table_filters.js:156
msgid "In Stock"
msgstr "Auf Lager"
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:130
+#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr "Für Bauaufträge benötigt"
@@ -4414,7 +4525,7 @@ msgstr "zu Bauaufträgen zugeordnet"
msgid "Can Build"
msgstr "Herstellbar"
-#: part/templates/part/part_base.html:171 templates/js/part.js:417
+#: part/templates/part/part_base.html:171 templates/js/part.js:418
msgid "Building"
msgstr "Im Bau"
@@ -4540,18 +4651,14 @@ msgid "Showing stock for all variants of %(full_name)s"
msgstr "Lagerbestand aller Varianten von %(full_name)s"
#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:421
+#: templates/js/part.js:422
msgid "No Stock"
msgstr "Kein Bestand"
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:129
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:130
msgid "Low Stock"
msgstr "niedriger Bestand"
-#: part/templates/part/subcategories.html:5
-msgid "Child Categories"
-msgstr "Unter-Kategorien"
-
#: part/templates/part/supplier.html:10
msgid "Part Suppliers"
msgstr "Zulieferer"
@@ -4890,17 +4997,17 @@ msgid "Test Results"
msgstr "Testergebnisse"
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1642
+#: stock/models.py:1643
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1648
+#: stock/models.py:1649
msgid "Result"
msgstr "Ergebnis"
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:195 templates/js/stock.js:909
+#: templates/js/order.js:195 templates/js/stock.js:986
msgid "Date"
msgstr "Datum"
@@ -4958,7 +5065,8 @@ msgstr " Transaktionsnotizen hinzufügen (optional)"
msgid "Select test report template"
msgstr "Test Bericht Vorlage auswählen"
-#: stock/forms.py:267 templates/js/table_filters.js:111
+#: stock/forms.py:267 templates/js/table_filters.js:70
+#: templates/js/table_filters.js:133
msgid "Include sublocations"
msgstr "Unter-Lagerorte einschließen"
@@ -5068,7 +5176,7 @@ msgstr "Basis-Teil"
msgid "Select a matching supplier part for this stock item"
msgstr "Passendes Zulieferer-Teil für dieses BestandsObjekt auswählen"
-#: stock/models.py:388 stock/templates/stock/stock_app_base.html:7
+#: stock/models.py:388 stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Bestand-Lagerort"
@@ -5160,101 +5268,101 @@ msgstr "zurück vom Kunden"
msgid "Returned to location"
msgstr "zurück ins Lager"
-#: stock/models.py:791
+#: stock/models.py:792
msgid "Installed into stock item"
msgstr "In BestandsObjekt verbaut"
-#: stock/models.py:799
+#: stock/models.py:800
msgid "Installed stock item"
msgstr "verbautes BestandsObjekt"
-#: stock/models.py:823
+#: stock/models.py:824
msgid "Uninstalled stock item"
msgstr "BestandsObjekt ausgebaut"
-#: stock/models.py:842
+#: stock/models.py:843
msgid "Uninstalled into location"
msgstr "ausgebaut nach Lagerort"
-#: stock/models.py:943
+#: stock/models.py:944
msgid "Part is not set as trackable"
msgstr "Teil ist nicht verfolgbar"
-#: stock/models.py:949
+#: stock/models.py:950
msgid "Quantity must be integer"
msgstr "Anzahl muss eine Ganzzahl sein"
-#: stock/models.py:955
+#: stock/models.py:956
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})"
-#: stock/models.py:958
+#: stock/models.py:959
msgid "Serial numbers must be a list of integers"
msgstr "Seriennummern muss eine Liste von Ganzzahlen sein"
-#: stock/models.py:961
+#: stock/models.py:962
msgid "Quantity does not match serial numbers"
msgstr "Anzahl stimmt nicht mit den Seriennummern überein"
-#: stock/models.py:993
+#: stock/models.py:994
msgid "Add serial number"
msgstr "Seriennummer hinzufügen"
-#: stock/models.py:996
+#: stock/models.py:997
#, python-brace-format
msgid "Serialized {n} items"
msgstr "{n} Teile serialisiert"
-#: stock/models.py:1074
+#: stock/models.py:1075
msgid "Split from existing stock"
msgstr "aufteilen vom vorhandenen Bestand"
-#: stock/models.py:1112
+#: stock/models.py:1113
msgid "StockItem cannot be moved as it is not in stock"
msgstr "BestandsObjekt kann nicht bewegt werden, da kein Bestand vorhanden ist"
-#: stock/models.py:1555
+#: stock/models.py:1556
msgid "Title"
msgstr "Titel"
-#: stock/models.py:1555
+#: stock/models.py:1556
msgid "Tracking entry title"
msgstr "Objektverfolgung - Name des Eintrags"
-#: stock/models.py:1557
+#: stock/models.py:1558
msgid "Entry notes"
msgstr "Eintrags-Notizen"
-#: stock/models.py:1559
+#: stock/models.py:1560
msgid "Link to external page for further information"
msgstr "Link auf externe Seite für weitere Informationen"
-#: stock/models.py:1619
+#: stock/models.py:1620
msgid "Value must be provided for this test"
msgstr "Wert muss für diesen Test angegeben werden"
-#: stock/models.py:1625
+#: stock/models.py:1626
msgid "Attachment must be uploaded for this test"
msgstr "Anhang muss für diesen Test hochgeladen werden"
-#: stock/models.py:1643
+#: stock/models.py:1644
msgid "Test name"
msgstr "Name des Tests"
-#: stock/models.py:1649 templates/js/table_filters.js:190
+#: stock/models.py:1650 templates/js/table_filters.js:212
msgid "Test result"
msgstr "Testergebnis"
-#: stock/models.py:1655
+#: stock/models.py:1656
msgid "Test output value"
msgstr "Test Ausgabe Wert"
-#: stock/models.py:1662
+#: stock/models.py:1663
msgid "Test result attachment"
msgstr "Test Ergebnis Anhang"
-#: stock/models.py:1668
+#: stock/models.py:1669
msgid "Test notes"
msgstr "Test Notizen"
@@ -5302,8 +5410,7 @@ msgstr ""
#, python-format
msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
msgstr ""
-"Dieses BestandsObjekt ist dem Bauauftrag %(link)s zugewiesen (Menge: "
-"%(qty)s)"
+"Dieses BestandsObjekt ist dem Bauauftrag %(link)s zugewiesen (Menge: %(qty)s)"
#: stock/templates/stock/item_base.html:67
msgid ""
@@ -5325,12 +5432,12 @@ msgstr ""
"aufgebraucht ist."
#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:123
+#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:145
msgid "Expired"
msgstr "abgelaufen"
#: stock/templates/stock/item_base.html:99
-#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:128
+#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:150
msgid "Stale"
msgstr "überfällig"
@@ -5361,15 +5468,15 @@ msgid "Stock adjustment actions"
msgstr "Bestands-Anpassungs Aktionen"
#: stock/templates/stock/item_base.html:164
-#: stock/templates/stock/location.html:58 templates/stock_table.html:55
+#: stock/templates/stock/location.html:65 templates/stock_table.html:56
msgid "Count stock"
msgstr "Bestand zählen"
-#: stock/templates/stock/item_base.html:167 templates/stock_table.html:53
+#: stock/templates/stock/item_base.html:167 templates/stock_table.html:54
msgid "Add stock"
msgstr "Bestand hinzufügen"
-#: stock/templates/stock/item_base.html:170 templates/stock_table.html:54
+#: stock/templates/stock/item_base.html:170 templates/stock_table.html:55
msgid "Remove stock"
msgstr "Bestand entfernen"
@@ -5389,7 +5496,7 @@ msgstr "zu Kunden zuordnen"
msgid "Return to stock"
msgstr "zu Bestand zurückgeben"
-#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1222
+#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1299
msgid "Uninstall stock item"
msgstr "BestandsObjekt deinstallieren"
@@ -5398,7 +5505,7 @@ msgid "Uninstall"
msgstr "Deinstallieren"
#: stock/templates/stock/item_base.html:196
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr "Bestands-Aktionen"
@@ -5422,7 +5529,7 @@ msgstr "BestandsObjekt löschen"
msgid "Stock Item Details"
msgstr "BestandsObjekt-Details"
-#: stock/templates/stock/item_base.html:278 templates/js/build.js:442
+#: stock/templates/stock/item_base.html:278 templates/js/build.js:498
msgid "No location set"
msgstr "Kein Lagerort gesetzt"
@@ -5522,7 +5629,7 @@ msgstr "Testdaten löschen"
msgid "Add Test Data"
msgstr "Testdaten hinzufügen"
-#: stock/templates/stock/location.html:13
+#: stock/templates/stock/location.html:20
msgid ""
"You are not in the list of owners of this location. This stock location "
"cannot be edited."
@@ -5530,47 +5637,50 @@ msgstr ""
"Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-"
"Lagerort kann nicht verändert werden."
-#: stock/templates/stock/location.html:30
+#: stock/templates/stock/location.html:37
msgid "All stock items"
msgstr "Alle BestandsObjekte"
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:55
msgid "Check-in Items"
msgstr "Teile einchecken"
-#: stock/templates/stock/location.html:64
+#: stock/templates/stock/location.html:71
msgid "Location actions"
msgstr "Lagerort-Aktionen"
-#: stock/templates/stock/location.html:66
+#: stock/templates/stock/location.html:73
msgid "Edit location"
msgstr "Lagerort bearbeiten"
-#: stock/templates/stock/location.html:68
+#: stock/templates/stock/location.html:75
msgid "Delete location"
msgstr "Lagerort löschen"
-#: stock/templates/stock/location.html:80
+#: stock/templates/stock/location.html:87
msgid "Location Details"
msgstr "Lagerort-Details"
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:92
msgid "Location Path"
msgstr "Lagerort-Pfad"
-#: stock/templates/stock/location.html:90
+#: stock/templates/stock/location.html:97
msgid "Location Description"
msgstr "Lagerort-Beschreibung"
-#: stock/templates/stock/location.html:95
+#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location_navbar.html:11
+#: stock/templates/stock/location_navbar.html:18
+#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr "Unter-Lagerorte"
-#: stock/templates/stock/location.html:105
+#: stock/templates/stock/location.html:112
msgid "Stock Details"
msgstr "Objekt-Details"
-#: stock/templates/stock/location.html:110 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
#: templates/stats.html:76 users/models.py:39
msgid "Stock Locations"
msgstr "Bestand-Lagerorte"
@@ -5579,18 +5689,6 @@ msgstr "Bestand-Lagerorte"
msgid "Are you sure you want to delete this stock location?"
msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?"
-#: stock/templates/stock/location_list.html:6
-msgid "Sub-Locations"
-msgstr "Sub-Lagerorte"
-
-#. Translators: pluralize with counter
-#: stock/templates/stock/location_list.html:17
-#, python-format
-msgid "%(counter)s Item"
-msgid_plural "%(counter)s Items"
-msgstr[0] "%(counter)s Objekt"
-msgstr[1] "%(counter)s Objekte"
-
#: stock/templates/stock/navbar.html:11
msgid "Stock Item Tracking"
msgstr "BestandsObjekt-Verfolgung"
@@ -5615,7 +5713,7 @@ msgstr "Kinder"
msgid "Remove item"
msgstr "Teil entfernen"
-#: stock/templates/stock/stock_app_base.html:15
+#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr "Lade..."
@@ -5640,6 +5738,14 @@ msgstr "Es kann in eine der folgenden Varianten konvertiert werden."
msgid "This action cannot be easily undone"
msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden"
+#: stock/templates/stock/sublocation.html:23 templates/stock_table.html:37
+msgid "Printing Actions"
+msgstr "Druck Aktionen"
+
+#: stock/templates/stock/sublocation.html:27 templates/stock_table.html:41
+msgid "Print labels"
+msgstr "Label drucken"
+
#: stock/templates/stock/tracking_delete.html:6
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
@@ -5763,7 +5869,7 @@ msgstr "Entfernen"
msgid "Add Stock Items"
msgstr "BestandsObjekte hinzufügen"
-#: stock/views.py:1001 users/models.py:179
+#: stock/views.py:1001 users/models.py:180
msgid "Add"
msgstr "Hinzufügen"
@@ -5825,7 +5931,7 @@ msgstr "BestandsObjekt bearbeiten"
msgid "Serialize Stock"
msgstr "Lagerbestand erfassen"
-#: stock/views.py:1543 templates/js/build.js:210
+#: stock/views.py:1543 templates/js/build.js:244
msgid "Create new Stock Item"
msgstr "Neues BestandsObjekt hinzufügen"
@@ -5873,55 +5979,55 @@ msgstr "Seite nicht gefunden"
msgid "The requested page does not exist"
msgstr "Seite existiert nicht"
-#: templates/InvenTree/index.html:6
+#: templates/InvenTree/index.html:7
msgid "Index"
msgstr "Index"
-#: templates/InvenTree/index.html:97
+#: templates/InvenTree/index.html:98
msgid "Starred Parts"
msgstr "Teilfavoriten"
-#: templates/InvenTree/index.html:98
+#: templates/InvenTree/index.html:99
msgid "Latest Parts"
msgstr "neueste Teile"
-#: templates/InvenTree/index.html:99
+#: templates/InvenTree/index.html:100
msgid "BOM Waiting Validation"
msgstr "Stücklisten erwarten Kontrolle"
-#: templates/InvenTree/index.html:128
+#: templates/InvenTree/index.html:129
msgid "Recently Updated"
msgstr "kürzlich aktualisiert"
-#: templates/InvenTree/index.html:144
+#: templates/InvenTree/index.html:145
msgid "Expired Stock"
msgstr "abgelaufener Bestand"
-#: templates/InvenTree/index.html:145
+#: templates/InvenTree/index.html:146
msgid "Stale Stock"
msgstr "Lagerbestand überfällig"
-#: templates/InvenTree/index.html:183
+#: templates/InvenTree/index.html:184
msgid "Build Orders In Progress"
msgstr "laufende Bauaufträge"
-#: templates/InvenTree/index.html:184
+#: templates/InvenTree/index.html:185
msgid "Overdue Build Orders"
msgstr "überfällige Bauaufträge"
-#: templates/InvenTree/index.html:205
+#: templates/InvenTree/index.html:206
msgid "Outstanding Purchase Orders"
msgstr "ausstehende Bestellungen"
-#: templates/InvenTree/index.html:206
+#: templates/InvenTree/index.html:207
msgid "Overdue Purchase Orders"
msgstr "überfällige Bestellungen"
-#: templates/InvenTree/index.html:228
+#: templates/InvenTree/index.html:229
msgid "Outstanding Sales Orders"
msgstr "ausstehende Aufträge"
-#: templates/InvenTree/index.html:229
+#: templates/InvenTree/index.html:230
msgid "Overdue Sales Orders"
msgstr "überfällige Aufträge"
@@ -5971,7 +6077,7 @@ msgstr "Vorlage löschen"
msgid "Global InvenTree Settings"
msgstr "Systemweite InvenTree-Einstellungen"
-#: templates/InvenTree/settings/global.html:26
+#: templates/InvenTree/settings/global.html:27
msgid "Barcode Settings"
msgstr "Barcode-Einstellungen"
@@ -6011,8 +6117,8 @@ msgstr "Kein Wert angegeben"
msgid "Edit setting"
msgstr "Einstellungen ändern"
-#: templates/InvenTree/settings/settings.html:7
-#: templates/InvenTree/settings/settings.html:13 templates/navbar.html:84
+#: templates/InvenTree/settings/settings.html:8
+#: templates/InvenTree/settings/settings.html:14 templates/navbar.html:84
msgid "Settings"
msgstr "Einstellungen"
@@ -6024,7 +6130,7 @@ msgstr "Auftrags-Einstellungen"
msgid "Stock Settings"
msgstr "Bestands-Einstellungen"
-#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:48
+#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:49
msgid "Stock Options"
msgstr "Stock-Optionen"
@@ -6089,7 +6195,7 @@ msgid "Change Password"
msgstr "Passwort ändern"
#: templates/InvenTree/settings/user.html:28
-#: templates/registration/login.html:58
+#: templates/registration/login.html:59
msgid "Username"
msgstr "Benutzername"
@@ -6276,7 +6382,7 @@ msgstr "In Lagerorten buchen"
msgid "Barcode does not match a valid location"
msgstr "Barcode entspricht keinem Lagerort"
-#: templates/js/bom.js:175 templates/js/build.js:934
+#: templates/js/bom.js:175 templates/js/build.js:994
msgid "Open subassembly"
msgstr "Unterbaugruppe öffnen"
@@ -6314,57 +6420,58 @@ msgstr "Stücklisten-Position bearbeiten"
msgid "Delete BOM Item"
msgstr "Stücklisten-Position löschen"
-#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032
+#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr "Keine Stücklisten-Position(en) gefunden"
-#: templates/js/build.js:56
+#: templates/js/build.js:62
msgid "Auto-allocate stock items to this output"
msgstr "BestandsObjekte automatisch Endprodukt zuordnen"
-#: templates/js/build.js:62
-msgid "Complete build output"
-msgstr "Endprodukt fertigstellen"
-
-#: templates/js/build.js:71
+#: templates/js/build.js:70
msgid "Unallocate stock from build output"
msgstr "Bestand von Endpordukt zurücknehmen"
-#: templates/js/build.js:77
+#: templates/js/build.js:80
+msgid "Complete build output"
+msgstr "Endprodukt fertigstellen"
+
+#: templates/js/build.js:89
msgid "Delete build output"
msgstr "Endprodukt entfernen"
-#: templates/js/build.js:209 templates/stock_table.html:20
+#: templates/js/build.js:243 templates/stock_table.html:20
msgid "New Stock Item"
msgstr "Neues BestandsObjekt"
-#: templates/js/build.js:493
+#: templates/js/build.js:549
msgid "Required Part"
msgstr "benötigtes Teil"
-#: templates/js/build.js:514
+#: templates/js/build.js:570
msgid "Quantity Per"
msgstr "Anzahl pro"
-#: templates/js/build.js:582 templates/js/build.js:996
-#: templates/stock_table.html:57
+#: templates/js/build.js:638 templates/js/build.js:1056
+#: templates/stock_table.html:58
msgid "Order stock"
msgstr "Bestand bestellen"
-#: templates/js/build.js:632
+#: templates/js/build.js:691
msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
-#: templates/js/build.js:649 templates/js/part.js:323 templates/js/stock.js:511
-#: templates/js/stock.js:1254
+#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
+#: templates/js/stock.js:511 templates/js/stock.js:938
+#: templates/js/stock.js:1331
msgid "Select"
msgstr "Auswählen"
-#: templates/js/build.js:669
+#: templates/js/build.js:728
msgid "Build order is overdue"
msgstr "Bauauftrag ist überfällig"
-#: templates/js/build.js:767
+#: templates/js/build.js:827
msgid "No parts allocated for"
msgstr "Keine Teile zugeordnet zu"
@@ -6385,12 +6492,12 @@ msgid "No manufacturer parts found"
msgstr "Keine Hersteller-Teile gefunden"
#: templates/js/company.js:148 templates/js/company.js:246
-#: templates/js/part.js:59 templates/js/part.js:144
+#: templates/js/part.js:60 templates/js/part.js:145
msgid "Template part"
msgstr "Vorlagenteil"
#: templates/js/company.js:152 templates/js/company.js:250
-#: templates/js/part.js:63 templates/js/part.js:148
+#: templates/js/part.js:64 templates/js/part.js:149
msgid "Assembled part"
msgstr "Baugruppe"
@@ -6565,59 +6672,63 @@ msgstr "Bestellung überfällig"
msgid "No sales orders found"
msgstr "Keine Aufträge gefunden"
-#: templates/js/part.js:51 templates/js/part.js:136
+#: templates/js/part.js:52 templates/js/part.js:137
msgid "Trackable part"
msgstr "nachverfolgbares Teil"
-#: templates/js/part.js:55 templates/js/part.js:140
+#: templates/js/part.js:56 templates/js/part.js:141
msgid "Virtual part"
msgstr "virtuelles Teil"
-#: templates/js/part.js:67
+#: templates/js/part.js:68
msgid "Starred part"
msgstr "Favoritenteil"
-#: templates/js/part.js:71
+#: templates/js/part.js:72
msgid "Salable part"
msgstr "Verkäufliches Teil"
-#: templates/js/part.js:185
+#: templates/js/part.js:186
msgid "No variants found"
msgstr "Keine Varianten gefunden"
-#: templates/js/part.js:271 templates/js/part.js:451
+#: templates/js/part.js:272 templates/js/part.js:452
msgid "No parts found"
msgstr "Keine Teile gefunden"
-#: templates/js/part.js:390
+#: templates/js/part.js:391
msgid "No category"
msgstr "Keine Kategorie"
-#: templates/js/part.js:408 templates/js/table_filters.js:296
+#: templates/js/part.js:409 templates/js/table_filters.js:318
msgid "Low stock"
msgstr "Bestand niedrig"
-#: templates/js/part.js:511
+#: templates/js/part.js:571 templates/js/stock.js:962
+msgid "Path"
+msgstr ""
+
+#: templates/js/part.js:588
msgid "YES"
msgstr "JA"
-#: templates/js/part.js:513
+#: templates/js/part.js:590
msgid "NO"
msgstr "NEIN"
-#: templates/js/part.js:547
+#: templates/js/part.js:624
msgid "No test templates matching query"
msgstr "Keine zur Anfrage passenden Testvorlagen"
-#: templates/js/part.js:598 templates/js/stock.js:75
+#: templates/js/part.js:675 templates/js/stock.js:75
msgid "Edit test result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/part.js:599 templates/js/stock.js:76
+#: templates/js/part.js:676 templates/js/stock.js:76
msgid "Delete test result"
msgstr "Testergebnis löschen"
-#: templates/js/part.js:605
+#: templates/js/part.js:682
msgid "This test is defined for a parent part"
msgstr "Dieses Testergebnis ist für ein Hauptteil"
@@ -6787,7 +6898,7 @@ msgstr "BestandsObjekt verloren"
msgid "Stock item is destroyed"
msgstr "BestandsObjekt zerstört"
-#: templates/js/stock.js:620 templates/js/table_filters.js:116
+#: templates/js/stock.js:620 templates/js/table_filters.js:138
msgid "Depleted"
msgstr "gelöscht"
@@ -6811,31 +6922,31 @@ msgstr "Status Code setzen"
msgid "Status code must be selected"
msgstr "Status Code muss ausgewählt werden"
-#: templates/js/stock.js:973
+#: templates/js/stock.js:1050
msgid "No user information"
msgstr "Keine Benutzerinformation"
-#: templates/js/stock.js:983
+#: templates/js/stock.js:1060
msgid "Edit tracking entry"
msgstr "Tracking-Eintrag bearbeiten"
-#: templates/js/stock.js:984
+#: templates/js/stock.js:1061
msgid "Delete tracking entry"
msgstr "Tracking-Eintrag löschen"
-#: templates/js/stock.js:1093
+#: templates/js/stock.js:1170
msgid "Create New Location"
msgstr "Neuen Lagerort anlegen"
-#: templates/js/stock.js:1192
+#: templates/js/stock.js:1269
msgid "Serial"
msgstr "Seriennummer"
-#: templates/js/stock.js:1285 templates/js/table_filters.js:149
+#: templates/js/stock.js:1362 templates/js/table_filters.js:171
msgid "Installed"
msgstr "Installiert"
-#: templates/js/stock.js:1310
+#: templates/js/stock.js:1387
msgid "Install item"
msgstr "Installiere Objekt"
@@ -6847,148 +6958,155 @@ msgstr "nachverfolgbares Teil"
msgid "Validated"
msgstr "überprüft"
-#: templates/js/table_filters.js:70 templates/js/table_filters.js:159
-msgid "Is Serialized"
-msgstr "ist mit Seriennummer"
-
-#: templates/js/table_filters.js:73 templates/js/table_filters.js:166
-msgid "Serial number GTE"
-msgstr "Seriennummer >="
-
-#: templates/js/table_filters.js:74 templates/js/table_filters.js:167
-msgid "Serial number greater than or equal to"
-msgstr "Seriennummer größer oder gleich"
-
-#: templates/js/table_filters.js:77 templates/js/table_filters.js:170
-msgid "Serial number LTE"
-msgstr "Seriennummer <="
-
-#: templates/js/table_filters.js:78 templates/js/table_filters.js:171
-msgid "Serial number less than or equal to"
-msgstr "Seriennummern kleiner oder gleich"
+#: templates/js/table_filters.js:71
+#, fuzzy
+#| msgid "Include sublocations"
+msgid "Include locations"
+msgstr "Unter-Lagerorte einschließen"
#: templates/js/table_filters.js:81 templates/js/table_filters.js:82
-#: templates/js/table_filters.js:162 templates/js/table_filters.js:163
-msgid "Serial number"
-msgstr "Seriennummer"
-
-#: templates/js/table_filters.js:86 templates/js/table_filters.js:180
-msgid "Batch code"
-msgstr "Losnummer"
-
-#: templates/js/table_filters.js:96 templates/js/table_filters.js:263
-msgid "Active parts"
-msgstr "Aktive Teile"
-
-#: templates/js/table_filters.js:97
-msgid "Show stock for active parts"
-msgstr "Bestand aktiver Teile anzeigen"
-
-#: templates/js/table_filters.js:102
-msgid "Part is an assembly"
-msgstr "Teil ist eine Baugruppe"
-
-#: templates/js/table_filters.js:106
-msgid "Is allocated"
-msgstr "Ist zugeordnet"
-
-#: templates/js/table_filters.js:107
-msgid "Item has been allocated"
-msgstr "Teil wurde zugeordnet"
-
-#: templates/js/table_filters.js:112
-msgid "Include stock in sublocations"
-msgstr "Bestand in Unter-Lagerorten einschließen"
-
-#: templates/js/table_filters.js:117
-msgid "Show stock items which are depleted"
-msgstr "Zeige aufgebrauchte BestandsObjekte"
-
-#: templates/js/table_filters.js:124
-msgid "Show stock items which have expired"
-msgstr "Zeige abgelaufene BestandsObjekte"
-
-#: templates/js/table_filters.js:129
-msgid "Show stock which is close to expiring"
-msgstr "Bestand, der bald ablaufen, anzeigen"
-
-#: templates/js/table_filters.js:135
-msgid "Show items which are in stock"
-msgstr "Zeige Objekte welche im Lager sind"
-
-#: templates/js/table_filters.js:139
-msgid "In Production"
-msgstr "In Arbeit"
-
-#: templates/js/table_filters.js:140
-msgid "Show items which are in production"
-msgstr "Elemente, die in Produktion sind, anzeigen"
-
-#: templates/js/table_filters.js:144
-msgid "Include Variants"
-msgstr "Varianten einschließen"
-
-#: templates/js/table_filters.js:145
-msgid "Include stock items for variant parts"
-msgstr "BestandsObjekte für Teil-Varianten einschließen"
-
-#: templates/js/table_filters.js:150
-msgid "Show stock items which are installed in another item"
-msgstr "BestandsObjekte, die in anderen Elementen verbaut sind, anzeigen"
-
-#: templates/js/table_filters.js:154
-msgid "Sent to customer"
-msgstr "Zum Kunden geschickt"
-
-#: templates/js/table_filters.js:155
-msgid "Show items which have been assigned to a customer"
-msgstr "zeige zu Kunden zugeordnete Einträge"
-
-#: templates/js/table_filters.js:175 templates/js/table_filters.js:176
-msgid "Stock status"
-msgstr "Bestandsstatus"
-
-#: templates/js/table_filters.js:209
-msgid "Build status"
-msgstr "Bau-Status"
-
-#: templates/js/table_filters.js:228 templates/js/table_filters.js:245
-msgid "Order status"
-msgstr "Bestellstatus"
-
-#: templates/js/table_filters.js:233 templates/js/table_filters.js:250
-msgid "Outstanding"
-msgstr "ausstehend"
-
-#: templates/js/table_filters.js:273
+#: templates/js/table_filters.js:295
msgid "Include subcategories"
msgstr "Unterkategorien einschließen"
-#: templates/js/table_filters.js:274
+#: templates/js/table_filters.js:92 templates/js/table_filters.js:181
+msgid "Is Serialized"
+msgstr "ist mit Seriennummer"
+
+#: templates/js/table_filters.js:95 templates/js/table_filters.js:188
+msgid "Serial number GTE"
+msgstr "Seriennummer >="
+
+#: templates/js/table_filters.js:96 templates/js/table_filters.js:189
+msgid "Serial number greater than or equal to"
+msgstr "Seriennummer größer oder gleich"
+
+#: templates/js/table_filters.js:99 templates/js/table_filters.js:192
+msgid "Serial number LTE"
+msgstr "Seriennummer <="
+
+#: templates/js/table_filters.js:100 templates/js/table_filters.js:193
+msgid "Serial number less than or equal to"
+msgstr "Seriennummern kleiner oder gleich"
+
+#: templates/js/table_filters.js:103 templates/js/table_filters.js:104
+#: templates/js/table_filters.js:184 templates/js/table_filters.js:185
+msgid "Serial number"
+msgstr "Seriennummer"
+
+#: templates/js/table_filters.js:108 templates/js/table_filters.js:202
+msgid "Batch code"
+msgstr "Losnummer"
+
+#: templates/js/table_filters.js:118 templates/js/table_filters.js:285
+msgid "Active parts"
+msgstr "Aktive Teile"
+
+#: templates/js/table_filters.js:119
+msgid "Show stock for active parts"
+msgstr "Bestand aktiver Teile anzeigen"
+
+#: templates/js/table_filters.js:124
+msgid "Part is an assembly"
+msgstr "Teil ist eine Baugruppe"
+
+#: templates/js/table_filters.js:128
+msgid "Is allocated"
+msgstr "Ist zugeordnet"
+
+#: templates/js/table_filters.js:129
+msgid "Item has been allocated"
+msgstr "Teil wurde zugeordnet"
+
+#: templates/js/table_filters.js:134
+msgid "Include stock in sublocations"
+msgstr "Bestand in Unter-Lagerorten einschließen"
+
+#: templates/js/table_filters.js:139
+msgid "Show stock items which are depleted"
+msgstr "Zeige aufgebrauchte BestandsObjekte"
+
+#: templates/js/table_filters.js:146
+msgid "Show stock items which have expired"
+msgstr "Zeige abgelaufene BestandsObjekte"
+
+#: templates/js/table_filters.js:151
+msgid "Show stock which is close to expiring"
+msgstr "Bestand, der bald ablaufen, anzeigen"
+
+#: templates/js/table_filters.js:157
+msgid "Show items which are in stock"
+msgstr "Zeige Objekte welche im Lager sind"
+
+#: templates/js/table_filters.js:161
+msgid "In Production"
+msgstr "In Arbeit"
+
+#: templates/js/table_filters.js:162
+msgid "Show items which are in production"
+msgstr "Elemente, die in Produktion sind, anzeigen"
+
+#: templates/js/table_filters.js:166
+msgid "Include Variants"
+msgstr "Varianten einschließen"
+
+#: templates/js/table_filters.js:167
+msgid "Include stock items for variant parts"
+msgstr "BestandsObjekte für Teil-Varianten einschließen"
+
+#: templates/js/table_filters.js:172
+msgid "Show stock items which are installed in another item"
+msgstr "BestandsObjekte, die in anderen Elementen verbaut sind, anzeigen"
+
+#: templates/js/table_filters.js:176
+msgid "Sent to customer"
+msgstr "Zum Kunden geschickt"
+
+#: templates/js/table_filters.js:177
+msgid "Show items which have been assigned to a customer"
+msgstr "zeige zu Kunden zugeordnete Einträge"
+
+#: templates/js/table_filters.js:197 templates/js/table_filters.js:198
+msgid "Stock status"
+msgstr "Bestandsstatus"
+
+#: templates/js/table_filters.js:231
+msgid "Build status"
+msgstr "Bau-Status"
+
+#: templates/js/table_filters.js:250 templates/js/table_filters.js:267
+msgid "Order status"
+msgstr "Bestellstatus"
+
+#: templates/js/table_filters.js:255 templates/js/table_filters.js:272
+msgid "Outstanding"
+msgstr "ausstehend"
+
+#: templates/js/table_filters.js:296
msgid "Include parts in subcategories"
msgstr "Teile in Unterkategorien einschließen"
-#: templates/js/table_filters.js:278
+#: templates/js/table_filters.js:300
msgid "Has IPN"
msgstr "Hat IPN"
-#: templates/js/table_filters.js:279
+#: templates/js/table_filters.js:301
msgid "Part has internal part number"
msgstr "Teil hat Interne Teilenummer"
-#: templates/js/table_filters.js:284
+#: templates/js/table_filters.js:306
msgid "Show active parts"
msgstr "Aktive Teile anzeigen"
-#: templates/js/table_filters.js:292
+#: templates/js/table_filters.js:314
msgid "Stock available"
msgstr "verfügbarer Lagerbestand"
-#: templates/js/table_filters.js:308
+#: templates/js/table_filters.js:330
msgid "Starred"
msgstr "Favorit"
-#: templates/js/table_filters.js:320
+#: templates/js/table_filters.js:342
msgid "Purchasable"
msgstr "Käuflich"
@@ -7069,7 +7187,7 @@ msgstr "Admin"
msgid "Logout"
msgstr "Ausloggen"
-#: templates/navbar.html:81 templates/registration/login.html:89
+#: templates/navbar.html:81 templates/registration/login.html:90
msgid "Login"
msgstr "Einloggen"
@@ -7081,81 +7199,81 @@ msgstr "Über InvenBaum"
msgid "QR data not provided"
msgstr "QR Daten nicht angegeben"
-#: templates/registration/logged_out.html:50
+#: templates/registration/logged_out.html:51
msgid "You have been logged out"
msgstr "Sie wurden abgemeldet"
-#: templates/registration/logged_out.html:51
-#: templates/registration/password_reset_complete.html:51
-#: templates/registration/password_reset_done.html:58
+#: templates/registration/logged_out.html:52
+#: templates/registration/password_reset_complete.html:52
+#: templates/registration/password_reset_done.html:59
msgid "Return to login screen"
msgstr "Zurück auf die Anmelde-Seite"
-#: templates/registration/login.html:64
+#: templates/registration/login.html:65
msgid "Enter username"
msgstr "Benutzername eingeben"
-#: templates/registration/login.html:70
+#: templates/registration/login.html:71
msgid "Password"
msgstr "Passwort"
-#: templates/registration/login.html:83
+#: templates/registration/login.html:84
msgid "Username / password combination is incorrect"
msgstr "Benutzername / Passwort Kombination ist falsch"
-#: templates/registration/login.html:95
-#: templates/registration/password_reset_form.html:51
+#: templates/registration/login.html:96
+#: templates/registration/password_reset_form.html:52
#, fuzzy
#| msgid "Enter password"
msgid "Forgotten your password?"
msgstr "Passwort eingeben"
-#: templates/registration/login.html:95
+#: templates/registration/login.html:96
msgid "Click here to reset"
msgstr ""
-#: templates/registration/password_reset_complete.html:50
+#: templates/registration/password_reset_complete.html:51
#, fuzzy
#| msgid "Purchase order completed"
msgid "Password reset complete"
msgstr "Bestellung als vollständig markieren"
-#: templates/registration/password_reset_confirm.html:52
-#: templates/registration/password_reset_confirm.html:56
+#: templates/registration/password_reset_confirm.html:53
+#: templates/registration/password_reset_confirm.html:57
#, fuzzy
#| msgid "Change Password"
msgid "Change password"
msgstr "Passwort ändern"
-#: templates/registration/password_reset_confirm.html:60
+#: templates/registration/password_reset_confirm.html:61
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_done.html:51
+#: templates/registration/password_reset_done.html:52
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly."
msgstr ""
-#: templates/registration/password_reset_done.html:54
+#: templates/registration/password_reset_done.html:55
msgid ""
"If you don't receive an email, please make sure you've entered the address "
"you registered with, and check your spam folder."
msgstr ""
-#: templates/registration/password_reset_form.html:52
+#: templates/registration/password_reset_form.html:53
#, fuzzy
#| msgid "Contact email address"
msgid "Enter your email address below."
msgstr "Kontakt-Email"
-#: templates/registration/password_reset_form.html:53
+#: templates/registration/password_reset_form.html:54
msgid "An email will be sent with password reset instructions."
msgstr ""
-#: templates/registration/password_reset_form.html:58
+#: templates/registration/password_reset_form.html:59
msgid "Send email"
msgstr ""
@@ -7207,55 +7325,47 @@ msgstr "Aktuellen Bestand exportieren"
msgid "Barcode Actions"
msgstr "Barcode Aktionen"
-#: templates/stock_table.html:36
-msgid "Printing Actions"
-msgstr "Druck Aktionen"
-
-#: templates/stock_table.html:40
-msgid "Print labels"
-msgstr "Label drucken"
-
-#: templates/stock_table.html:42
+#: templates/stock_table.html:43
msgid "Print test reports"
msgstr "Test-Berichte drucken"
-#: templates/stock_table.html:53
+#: templates/stock_table.html:54
msgid "Add to selected stock items"
msgstr "Zu ausgewählten BestandsObjekten hinzufügen"
-#: templates/stock_table.html:54
+#: templates/stock_table.html:55
msgid "Remove from selected stock items"
msgstr "Von ausgewählten BestandsObjekten entfernen"
-#: templates/stock_table.html:55
+#: templates/stock_table.html:56
msgid "Stocktake selected stock items"
msgstr "Inventur für gewählte BestandsObjekte"
-#: templates/stock_table.html:56
+#: templates/stock_table.html:57
msgid "Move selected stock items"
msgstr "Ausgewählte BestandsObjekte verschieben"
-#: templates/stock_table.html:56
+#: templates/stock_table.html:57
msgid "Move stock"
msgstr "Bestand verschieben"
-#: templates/stock_table.html:57
+#: templates/stock_table.html:58
msgid "Order selected items"
msgstr "Ausgewählte Positionen bestellen"
-#: templates/stock_table.html:58
+#: templates/stock_table.html:59
msgid "Change status"
msgstr "Status ändern"
-#: templates/stock_table.html:58
+#: templates/stock_table.html:59
msgid "Change stock status"
msgstr "Bestandsstatus ändern"
-#: templates/stock_table.html:61
+#: templates/stock_table.html:62
msgid "Delete selected items"
msgstr "Ausgewählte Positionen löschen"
-#: templates/stock_table.html:61
+#: templates/stock_table.html:62
msgid "Delete Stock"
msgstr "Bestand löschen"
@@ -7291,38 +7401,61 @@ msgstr "Berechtigungen"
msgid "Important dates"
msgstr "wichtige Daten"
-#: users/models.py:166
+#: users/models.py:167
msgid "Permission set"
msgstr "Berechtigung geändert"
-#: users/models.py:174
+#: users/models.py:175
msgid "Group"
msgstr "Gruppe"
-#: users/models.py:177
+#: users/models.py:178
msgid "View"
msgstr "Ansicht"
-#: users/models.py:177
+#: users/models.py:178
msgid "Permission to view items"
msgstr "Berechtigung Einträge anzuzeigen"
-#: users/models.py:179
+#: users/models.py:180
msgid "Permission to add items"
msgstr "Berechtigung Einträge zu erstellen"
-#: users/models.py:181
+#: users/models.py:182
msgid "Change"
msgstr "Ändern"
-#: users/models.py:181
+#: users/models.py:182
msgid "Permissions to edit items"
msgstr "Berechtigungen Einträge zu ändern"
-#: users/models.py:183
+#: users/models.py:184
msgid "Permission to delete items"
msgstr "Berechtigung Einträge zu löschen"
+#~ msgid "Build can be completed"
+#~ msgstr "Bauauftrag kann fertiggstellt werden"
+
+#~ msgid "Build cannot be completed"
+#~ msgstr "Bauauftrag kann nicht fertiggestellt werden"
+
+#~ msgid "Required Parts"
+#~ msgstr "Benötigte Teile"
+
+#~ msgid "In Progress"
+#~ msgstr "In Bearbeitung"
+
+#~ msgid "Child Categories"
+#~ msgstr "Unter-Kategorien"
+
+#~ msgid "Sub-Locations"
+#~ msgstr "Sub-Lagerorte"
+
+#~ msgid "%(counter)s Item"
+#~ msgid_plural "%(counter)s Items"
+#~ msgstr[0] "%(counter)s Objekt"
+#~ msgstr[1] "%(counter)s Objekte"
+
#~ msgid "Sales Order %(order.reference)s - %(order.customer.name)s"
#~ msgstr "Auftrag %(order.reference)s - %(order.customer.name)s"
@@ -7479,9 +7612,6 @@ msgstr "Berechtigung Einträge zu löschen"
#~ msgid "Build parts"
#~ msgstr "Bauteile"
-#~ msgid "Allocate parts"
-#~ msgstr "Teile zuordnen"
-
#, fuzzy
#~| msgid "Part is not a virtual part"
#~ msgid "This part is a virtual part"
@@ -7647,9 +7777,6 @@ msgstr "Berechtigung Einträge zu löschen"
#~ msgid "Automatically allocate stock"
#~ msgstr "Lagerbestand automatisch zuweisen"
-#~ msgid "Auto Allocate"
-#~ msgstr "Automatisches Zuweisen"
-
#~ msgid "Unallocate"
#~ msgstr "Zuweisung aufheben"
@@ -7674,11 +7801,6 @@ msgstr "Berechtigung Einträge zu löschen"
#~ msgid "Only single stock items exists"
#~ msgstr "In BestandsObjekt installiert"
-#, fuzzy
-#~| msgid "This stock item is allocated to Build"
-#~ msgid "The stock item is not already allocated to this build"
-#~ msgstr "Dieses BestandsObjekt ist dem Bau zugewiesen"
-
#~ msgid "Warning: Build order allocation is not complete"
#~ msgstr "Warnung: Bau-Zuweisung ist unvollständig"
@@ -7707,9 +7829,6 @@ msgstr "Berechtigung Einträge zu löschen"
#~ msgid "Check the confirmation box at the bottom of the list"
#~ msgstr "Bestätigunsbox am Ende der Liste bestätigen"
-#~ msgid "Invalid location selected"
-#~ msgstr "Ungültige Ortsauswahl"
-
#~ msgid "The following serial numbers already exist: ({sn})"
#~ msgstr "Die folgende Seriennummer existiert bereits: ({sn})"
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index 88164f6c11..a99521bf12 100644
--- a/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/InvenTree/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-04-17 23:25+0000\n"
+"POT-Creation-Date: 2021-04-21 17:15+1000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -34,8 +34,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120
-#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223
+#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122
+#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
@@ -49,7 +49,7 @@ msgstr ""
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:159 templates/registration/login.html:76
+#: InvenTree/forms.py:159 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
@@ -106,7 +106,7 @@ msgstr ""
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:59 stock/models.py:1661
+#: InvenTree/models.py:59 stock/models.py:1662
msgid "Attachment"
msgstr ""
@@ -122,9 +122,9 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1888
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1908
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:964
+#: templates/js/stock.js:1041
msgid "User"
msgstr ""
@@ -133,9 +133,10 @@ msgid "upload date"
msgstr ""
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:101
-#: part/models.py:686 part/models.py:2029 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2049 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/part.js:109
+#: templates/InvenTree/search.html:289 templates/js/part.js:110
+#: templates/js/part.js:553 templates/js/stock.js:944
msgid "Name"
msgstr ""
@@ -143,7 +144,7 @@ msgstr ""
#: build/templates/build/detail.html:21 company/models.py:342
#: company/models.py:494 company/templates/company/detail.html:27
#: company/templates/company/manufacturer_part_base.html:72
-#: company/templates/company/supplier_part_base.html:70
+#: company/templates/company/supplier_part_base.html:71
#: company/templates/company/supplier_part_detail.html:31 label/models.py:108
#: order/models.py:101 order/templates/order/purchase_order_detail.html:168
#: part/models.py:710 part/templates/part/detail.html:54
@@ -153,11 +154,12 @@ msgstr ""
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:677 templates/js/build.js:944
+#: templates/js/build.js:736 templates/js/build.js:1004
#: templates/js/company.js:56 templates/js/order.js:183
-#: templates/js/order.js:280 templates/js/part.js:168 templates/js/part.js:251
-#: templates/js/part.js:370 templates/js/part.js:566 templates/js/stock.js:554
-#: templates/js/stock.js:938
+#: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252
+#: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643
+#: templates/js/stock.js:554 templates/js/stock.js:956
+#: templates/js/stock.js:1015
msgid "Description"
msgstr ""
@@ -169,92 +171,92 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:480
+#: InvenTree/settings.py:493
msgid "English"
msgstr ""
-#: InvenTree/settings.py:481
+#: InvenTree/settings.py:494
msgid "French"
msgstr ""
-#: InvenTree/settings.py:482
+#: InvenTree/settings.py:495
msgid "German"
msgstr ""
-#: InvenTree/settings.py:483
+#: InvenTree/settings.py:496
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:484
+#: InvenTree/settings.py:497
msgid "Turkish"
msgstr ""
-#: InvenTree/status.py:84
+#: InvenTree/status.py:93
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:88
+#: InvenTree/status.py:97
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:91
+#: InvenTree/status.py:100
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135
-#: InvenTree/status_codes.py:228
+#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143
+#: InvenTree/status_codes.py:236
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:95
+#: InvenTree/status_codes.py:103
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137
-#: InvenTree/status_codes.py:230
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:238
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138
-#: InvenTree/status_codes.py:180
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:188
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139
-#: InvenTree/status_codes.py:182
+#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
+#: InvenTree/status_codes.py:190
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:136
+#: InvenTree/status_codes.py:144
#: order/templates/order/sales_order_base.html:124
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:176
+#: InvenTree/status_codes.py:184
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:177
+#: InvenTree/status_codes.py:185
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:178
+#: InvenTree/status_codes.py:186
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:179
+#: InvenTree/status_codes.py:187
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:181
+#: InvenTree/status_codes.py:189
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:229
+#: InvenTree/status_codes.py:237
msgid "Production"
msgstr ""
@@ -357,33 +359,34 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/forms.py:34
+#: build/forms.py:36
msgid "Build Order reference"
msgstr ""
-#: build/forms.py:35
+#: build/forms.py:37
msgid "Order target date"
msgstr ""
-#: build/forms.py:39 build/templates/build/build_base.html:107
+#: build/forms.py:41 build/templates/build/build_base.html:136
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:117
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:723 templates/js/order.js:200
+#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
msgid "Target Date"
msgstr ""
-#: build/forms.py:40 build/models.py:224
+#: build/forms.py:42 build/models.py:224
msgid ""
"Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1103
+#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227
+#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:94
-#: build/templates/build/detail.html:31 common/models.py:696
+#: build/templates/build/build_base.html:123
+#: build/templates/build/detail.html:31 common/models.py:703
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261
#: order/forms.py:278 order/models.py:593 order/models.py:784
@@ -393,7 +396,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:159
#: order/templates/order/sales_order_detail.html:224 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2158
+#: part/forms.py:371 part/forms.py:387 part/models.py:2178
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
#: part/templates/part/part_pricing.html:11
@@ -403,90 +406,104 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1565
+#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566
#: stock/templates/stock/item_base.html:244
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954
-#: templates/js/stock.js:956 templates/js/stock.js:1194
+#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
+#: templates/js/stock.js:1033 templates/js/stock.js:1271
msgid "Quantity"
msgstr ""
-#: build/forms.py:46
+#: build/forms.py:48
msgid "Number of items to build"
msgstr ""
-#: build/forms.py:88
+#: build/forms.py:90
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:92 order/forms.py:233 stock/forms.py:118
+#: build/forms.py:94 order/forms.py:233 stock/forms.py:118
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:94
+#: build/forms.py:96
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:100
+#: build/forms.py:102
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:121
+#: build/forms.py:123
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:142
+#: build/forms.py:144
msgid "Confirm unallocation of stock"
msgstr ""
-#: build/forms.py:166
+#: build/forms.py:168
msgid "Confirm stock allocation"
msgstr ""
-#: build/forms.py:189
+#: build/forms.py:185
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:213 build/templates/build/auto_allocate.html:18
+#: build/forms.py:209 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
#: stock/templates/stock/item_base.html:274
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:434
+#: templates/js/barcode.js:531 templates/js/build.js:490
#: templates/js/stock.js:641
msgid "Location"
msgstr ""
-#: build/forms.py:214
+#: build/forms.py:210
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:219
+#: build/forms.py:214 build/templates/build/build_base.html:128
+#: build/templates/build/detail.html:59 order/models.py:445
+#: order/templates/order/receive_parts.html:24
+#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
+#: templates/js/barcode.js:119 templates/js/build.js:770
+#: templates/js/order.js:187 templates/js/order.js:285
+#: templates/js/stock.js:628 templates/js/stock.js:1279
+msgid "Status"
+msgstr ""
+
+#: build/forms.py:215
+msgid "Build output stock status"
+msgstr ""
+
+#: build/forms.py:222
msgid "Confirm incomplete"
msgstr ""
-#: build/forms.py:220
+#: build/forms.py:223
msgid "Confirm completion with incomplete stock allocation"
msgstr ""
-#: build/forms.py:223
+#: build/forms.py:226
msgid "Confirm build completion"
msgstr ""
-#: build/forms.py:243
+#: build/forms.py:251
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:243 build/views.py:66
+#: build/forms.py:251 build/views.py:66
msgid "Confirm build cancellation"
msgstr ""
-#: build/forms.py:257
+#: build/forms.py:265
msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:38
+#: build/templates/build/build_base.html:63
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -496,7 +513,7 @@ msgstr ""
#: build/templates/build/index.html:15 order/templates/order/so_builds.html:12
#: order/templates/order/so_navbar.html:19
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
-#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:182
+#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
#: templates/InvenTree/settings/tabs.html:31 users/models.py:41
msgid "Build Orders"
@@ -508,10 +525,10 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:595
#: order/templates/order/purchase_order_detail.html:195
-#: order/templates/order/sales_order_detail.html:219 part/models.py:2167
+#: order/templates/order/sales_order_detail.html:219 part/models.py:2187
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:509 templates/js/build.js:948
+#: templates/js/build.js:565 templates/js/build.js:1008
msgid "Reference"
msgstr ""
@@ -519,7 +536,7 @@ msgstr ""
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:124
+#: build/models.py:146 build/templates/build/build_base.html:153
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -529,28 +546,27 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:89
+#: build/templates/build/build_base.html:118
#: build/templates/build/detail.html:26 company/models.py:669
#: order/models.py:637 order/models.py:669
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:207 part/models.py:321
-#: part/models.py:1856 part/models.py:1868 part/models.py:1886
-#: part/models.py:1961 part/models.py:2057 part/models.py:2142
-#: part/templates/part/part_app_base.html:7
+#: part/models.py:1876 part/models.py:1888 part/models.py:1906
+#: part/models.py:1981 part/models.py:2077 part/models.py:2162
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:14 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
-#: part/templates/part/subcategories.html:17
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:681 templates/js/build.js:921
+#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
-#: templates/js/part.js:232 templates/js/part.js:337 templates/js/stock.js:523
-#: templates/js/stock.js:1266
+#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
+#: templates/js/stock.js:1343
msgid "Part"
msgstr ""
@@ -625,7 +641,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:227 order/models.py:218
+#: build/models.py:227 order/models.py:218 templates/js/build.js:788
msgid "Completion Date"
msgstr ""
@@ -641,7 +657,7 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:145
+#: build/models.py:250 build/templates/build/build_base.html:174
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
#: order/templates/order/sales_order_base.html:138 part/models.py:886
@@ -656,7 +672,7 @@ msgstr ""
#: build/models.py:256 build/templates/build/detail.html:91
#: company/templates/company/manufacturer_part_base.html:79
#: company/templates/company/manufacturer_part_detail.html:28
-#: company/templates/company/supplier_part_base.html:77
+#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
#: stock/models.py:426 stock/templates/stock/item_base.html:334
@@ -667,7 +683,7 @@ msgstr ""
msgid "Link to external URL"
msgstr ""
-#: build/models.py:261 build/templates/build/navbar.html:59
+#: build/models.py:261 build/templates/build/navbar.html:53
#: company/models.py:135 company/models.py:501
#: company/templates/company/navbar.html:70
#: company/templates/company/navbar.html:73 order/models.py:123
@@ -680,7 +696,7 @@ msgstr ""
#: part/templates/part/navbar.html:128
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
-#: stock/models.py:498 stock/models.py:1557 stock/models.py:1667
+#: stock/models.py:498 stock/models.py:1558 stock/models.py:1668
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
@@ -690,139 +706,150 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:673
+#: build/models.py:739
msgid "No build output specified"
msgstr ""
-#: build/models.py:676
+#: build/models.py:742
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:679
+#: build/models.py:745
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:754
+#: build/models.py:838
msgid "Completed build output"
msgstr ""
-#: build/models.py:996
+#: build/models.py:1118
msgid "BuildItem must be unique for build, stock_item and install_into"
msgstr ""
-#: build/models.py:1018
-msgid "Build item must specify a build output"
+#: build/models.py:1143
+msgid ""
+"Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1023
+#: build/models.py:1147
#, python-brace-format
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1027
+#: build/models.py:1151
#, python-brace-format
msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
msgstr ""
-#: build/models.py:1034 order/models.py:758
+#: build/models.py:1158 order/models.py:758
msgid "StockItem is over-allocated"
msgstr ""
-#: build/models.py:1038 order/models.py:761
+#: build/models.py:1162 order/models.py:761
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1042
+#: build/models.py:1166
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1082 stock/templates/stock/item_base.html:306
-#: templates/InvenTree/search.html:183 templates/js/build.js:655
+#: build/models.py:1206 stock/templates/stock/item_base.html:306
+#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
msgstr ""
-#: build/models.py:1083
+#: build/models.py:1207
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1090 part/templates/part/allocation.html:18
+#: build/models.py:1214 part/templates/part/allocation.html:18
#: part/templates/part/allocation.html:24
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/item_base.html:328
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771
-#: templates/js/stock.js:927 templates/js/stock.js:1185
+#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
+#: templates/js/stock.js:1004 templates/js/stock.js:1262
msgid "Stock Item"
msgstr ""
-#: build/models.py:1091
+#: build/models.py:1215
msgid "Source stock item"
msgstr ""
-#: build/models.py:1104
+#: build/models.py:1228
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1112
+#: build/models.py:1236
msgid "Install into"
msgstr ""
-#: build/models.py:1113
+#: build/models.py:1237
msgid "Destination stock item"
msgstr ""
+#: build/templates/build/allocate.html:7
+msgid "Allocate Parts"
+msgstr ""
+
#: build/templates/build/allocate.html:15
-msgid "Incomplete Build Ouputs"
+msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/allocate.html:21
-msgid "Build order has been completed"
+#: build/templates/build/allocate.html:22
+msgid "Allocate stock to build"
msgstr ""
-#: build/templates/build/allocate.html:26
-msgid "Create new build output"
+#: build/templates/build/allocate.html:23
+msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/allocate.html:27
-msgid "Create New Output"
+#: build/templates/build/allocate.html:25 templates/js/build.js:646
+msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/allocate.html:30
+#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794
+msgid "Unallocate Stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:29
msgid "Order required parts"
msgstr ""
-#: build/templates/build/allocate.html:31
+#: build/templates/build/allocate.html:30
#: company/templates/company/detail_manufacturer_part.html:33
#: company/templates/company/detail_supplier_part.html:32 order/views.py:794
#: part/templates/part/category.html:127
msgid "Order Parts"
msgstr ""
-#: build/templates/build/allocate.html:34 templates/js/build.js:590
-msgid "Unallocate stock"
+#: build/templates/build/allocate.html:36
+msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784
-msgid "Unallocate Stock"
+#: build/templates/build/allocate.html:40
+msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/allocate.html:49
-msgid "Create a new build output"
+#: build/templates/build/allocate.html:47
+msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/allocate.html:50
-msgid "No incomplete build outputs remain."
-msgstr ""
-
-#: build/templates/build/allocate.html:51
-msgid "Create a new build output using the button above"
+#: build/templates/build/allocation_card.html:21
+#: build/templates/build/complete_output.html:46
+#: order/templates/order/sales_order_detail.html:75
+#: order/templates/order/sales_order_detail.html:157
+#: report/templates/report/inventree_test_report_base.html:75
+#: stock/models.py:420 stock/templates/stock/item_base.html:238
+#: templates/js/build.js:474
+msgid "Serial Number"
msgstr ""
#: build/templates/build/attachments.html:12
-#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52
+#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
@@ -857,81 +884,87 @@ msgstr ""
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:40
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part_base.html:25
-#: company/templates/company/supplier_part_base.html:25
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:14 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:118
-#: stock/templates/stock/location.html:24
-msgid "Admin view"
+#: build/templates/build/build_base.html:31
+msgid "Build Order is ready to mark as completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:36
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr ""
+
+#: build/templates/build/build_base.html:41
+msgid "Required build quantity has not yet been completed"
msgstr ""
#: build/templates/build/build_base.html:46
-#: build/templates/build/build_base.html:111
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:65
+#: company/templates/company/company_base.html:40
+#: company/templates/company/manufacturer_part_base.html:25
+#: company/templates/company/supplier_part_base.html:26
+#: order/templates/order/order_base.html:26
+#: order/templates/order/sales_order_base.html:35
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
+#: stock/templates/stock/item_base.html:118
+#: stock/templates/stock/location.html:31
+msgid "Admin view"
+msgstr ""
+
+#: build/templates/build/build_base.html:71
+#: build/templates/build/build_base.html:140
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:41
#: order/templates/order/sales_order_base.html:86
-#: templates/js/table_filters.js:218 templates/js/table_filters.js:237
-#: templates/js/table_filters.js:254
+#: templates/js/table_filters.js:240 templates/js/table_filters.js:259
+#: templates/js/table_filters.js:276
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:55
+#: build/templates/build/build_base.html:80
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:59
+#: build/templates/build/build_base.html:84
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:69
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:179
+#: build/templates/build/build_base.html:90
+#: build/templates/build/build_base.html:215
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:72
-#: build/templates/build/build_base.html:170 build/views.py:57
+#: build/templates/build/build_base.html:95
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:99
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:101
+#: build/templates/build/build_base.html:199 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:85
+#: build/templates/build/build_base.html:114
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:99
-#: build/templates/build/detail.html:59 order/models.py:445
-#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:710
-#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1202
-msgid "Status"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:140
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:147
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr ""
-#: build/templates/build/build_base.html:131
+#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:84 order/models.py:667
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:33
@@ -943,20 +976,51 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:138
+#: build/templates/build/build_base.html:167
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
+#: build/templates/build/build_base.html:207
+msgid "Incomplete Outputs"
+msgstr ""
+
+#: build/templates/build/build_base.html:208
+msgid "Build Order cannot be completed as incomplete build outputs remain"
+msgstr ""
+
#: build/templates/build/build_children.html:10
-#: build/templates/build/navbar.html:42
+#: build/templates/build/navbar.html:36
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/build_output.html:10
-#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38
-msgid "Build Outputs"
+#: build/templates/build/build_output.html:15
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output.html:22
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:23
+msgid "Create New Output"
+msgstr ""
+
+#: build/templates/build/build_output.html:36
+msgid "Create a new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:37
+msgid "No incomplete build outputs remain."
+msgstr ""
+
+#: build/templates/build/build_output.html:38
+msgid "Create a new build output using the button above"
+msgstr ""
+
+#: build/templates/build/build_output.html:49
+msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/build_output_create.html:7
@@ -984,11 +1048,11 @@ msgid "Are you sure you wish to cancel this build?"
msgstr ""
#: build/templates/build/complete.html:8
-msgid "Build can be completed"
+msgid "Build Order is complete"
msgstr ""
#: build/templates/build/complete.html:12
-msgid "Build cannot be completed"
+msgid "Build Order is incomplete"
msgstr ""
#: build/templates/build/complete.html:15
@@ -999,19 +1063,23 @@ msgstr ""
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/templates/build/complete_output.html:9
-msgid "Stock allocation is complete"
+#: build/templates/build/complete.html:21
+msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:13
+#: build/templates/build/complete_output.html:10
+msgid "Stock allocation is complete for this output"
+msgstr ""
+
+#: build/templates/build/complete_output.html:14
msgid "Stock allocation is incomplete"
msgstr ""
-#: build/templates/build/complete_output.html:19
-msgid "parts have not been fully allocated"
+#: build/templates/build/complete_output.html:20
+msgid "tracked parts have not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:40
+#: build/templates/build/complete_output.html:41
msgid "The following items will be created"
msgstr ""
@@ -1057,14 +1125,14 @@ msgstr ""
#: build/templates/build/detail.html:70
#: stock/templates/stock/item_base.html:292 templates/js/stock.js:636
-#: templates/js/stock.js:1209 templates/js/table_filters.js:85
-#: templates/js/table_filters.js:179
+#: templates/js/stock.js:1286 templates/js/table_filters.js:107
+#: templates/js/table_filters.js:201
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718
+#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1072,8 +1140,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:132 templates/js/build.js:696
-#: templates/js/build.js:728
+#: build/templates/build/detail.html:132 templates/js/build.js:756
msgid "Completed"
msgstr ""
@@ -1085,7 +1152,7 @@ msgstr ""
msgid "Alter the quantity of stock allocated to the build output"
msgstr ""
-#: build/templates/build/index.html:28 build/views.py:657
+#: build/templates/build/index.html:28 build/views.py:667
msgid "New Build Order"
msgstr ""
@@ -1116,20 +1183,20 @@ msgstr ""
msgid "Details"
msgstr ""
-#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23
-#: build/templates/build/parts.html:11
-msgid "Required Parts"
+#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24
+#: build/views.py:91
+msgid "Allocate Stock"
msgstr ""
-#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30
-msgid "In Progress"
+#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32
+msgid "Build Outputs"
msgstr ""
-#: build/templates/build/navbar.html:45
+#: build/templates/build/navbar.html:39
msgid "Child Builds"
msgstr ""
-#: build/templates/build/navbar.html:56
+#: build/templates/build/navbar.html:50
msgid "Build Order Notes"
msgstr ""
@@ -1164,66 +1231,66 @@ msgstr ""
msgid "Build was cancelled"
msgstr ""
-#: build/views.py:91
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/views.py:154 build/views.py:314 build/views.py:485
-msgid "Build output must be specified"
-msgstr ""
-
-#: build/views.py:168
+#: build/views.py:138
msgid "Allocated stock to build output"
msgstr ""
-#: build/views.py:180
+#: build/views.py:150
msgid "Create Build Output"
msgstr ""
-#: build/views.py:203 stock/models.py:968 stock/views.py:1789
+#: build/views.py:173 stock/models.py:969 stock/views.py:1789
msgid "Serial numbers already exist"
msgstr ""
-#: build/views.py:212
+#: build/views.py:182
msgid "Serial numbers required for trackable build output"
msgstr ""
-#: build/views.py:278
+#: build/views.py:248
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:299 build/views.py:383
+#: build/views.py:269 build/views.py:359
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:300 build/views.py:384 stock/views.py:425
+#: build/views.py:270 build/views.py:360 stock/views.py:425
msgid "Check the confirmation box"
msgstr ""
-#: build/views.py:312
+#: build/views.py:282
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:326
+#: build/views.py:284 build/views.py:485
+msgid "Build output must be specified"
+msgstr ""
+
+#: build/views.py:296
msgid "Build output deleted"
msgstr ""
-#: build/views.py:408
+#: build/views.py:394
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:414
-msgid "Build order cannot be completed"
+#: build/views.py:400
+msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:425
+#: build/views.py:411
msgid "Completed build order"
msgstr ""
-#: build/views.py:441
+#: build/views.py:427
msgid "Complete Build Output"
msgstr ""
+#: build/views.py:469
+msgid "Invalid stock status value selected"
+msgstr ""
+
#: build/views.py:476
msgid "Quantity to complete cannot exceed build output quantity"
msgstr ""
@@ -1232,81 +1299,81 @@ msgstr ""
msgid "Confirm completion of incomplete build"
msgstr ""
-#: build/views.py:573
+#: build/views.py:581
msgid "Build output completed"
msgstr ""
-#: build/views.py:711
+#: build/views.py:721
msgid "Created new build"
msgstr ""
-#: build/views.py:732
+#: build/views.py:742
msgid "Edit Build Order Details"
msgstr ""
-#: build/views.py:765
+#: build/views.py:775
msgid "Edited build"
msgstr ""
-#: build/views.py:774
+#: build/views.py:784
msgid "Delete Build Order"
msgstr ""
-#: build/views.py:789
+#: build/views.py:799
msgid "Removed parts from build allocation"
msgstr ""
-#: build/views.py:801
+#: build/views.py:811
msgid "Allocate stock to build output"
msgstr ""
-#: build/views.py:844
+#: build/views.py:854
msgid "Item must be currently in stock"
msgstr ""
-#: build/views.py:850
+#: build/views.py:860
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519
-#: templates/js/build.js:778 templates/js/build.js:961
+#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575
+#: templates/js/build.js:838 templates/js/build.js:1021
msgid "Available"
msgstr ""
-#: build/views.py:853
+#: build/views.py:863
msgid "Stock item must be selected"
msgstr ""
-#: build/views.py:1016
+#: build/views.py:1026
msgid "Edit Stock Allocation"
msgstr ""
-#: build/views.py:1020
+#: build/views.py:1030
msgid "Updated Build Item"
msgstr ""
-#: build/views.py:1049
+#: build/views.py:1059
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172
+#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
-#: build/views.py:1098 order/views.py:189 order/views.py:210
+#: build/views.py:1108 order/views.py:189 order/views.py:210
msgid "Edit Attachment"
msgstr ""
-#: build/views.py:1108 order/views.py:193 order/views.py:214
+#: build/views.py:1118 order/views.py:193 order/views.py:214
msgid "Attachment updated"
msgstr ""
-#: build/views.py:1118 order/views.py:229 order/views.py:243
+#: build/views.py:1128 order/views.py:229 order/views.py:243
msgid "Delete Attachment"
msgstr ""
-#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333
+#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333
msgid "Deleted attachment"
msgstr ""
@@ -1318,335 +1385,343 @@ msgstr ""
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:62 company/models.py:97 company/models.py:98
-msgid "Company name"
+#: common/models.py:62
+msgid "Use instance name"
msgstr ""
#: common/models.py:63
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:69 company/models.py:97 company/models.py:98
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:70
msgid "Internal company name"
msgstr ""
-#: common/models.py:68
+#: common/models.py:75
msgid "Base URL"
msgstr ""
-#: common/models.py:69
+#: common/models.py:76
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:75
+#: common/models.py:82
msgid "Default Currency"
msgstr ""
-#: common/models.py:76
+#: common/models.py:83
msgid "Default currency"
msgstr ""
-#: common/models.py:82
+#: common/models.py:89
msgid "Download from URL"
msgstr ""
-#: common/models.py:83
+#: common/models.py:90
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:89
+#: common/models.py:96
msgid "Barcode Support"
msgstr ""
-#: common/models.py:90
+#: common/models.py:97
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:96
+#: common/models.py:103
msgid "IPN Regex"
msgstr ""
-#: common/models.py:97
+#: common/models.py:104
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:101
+#: common/models.py:108
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:102
+#: common/models.py:109
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:108
+#: common/models.py:115
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:109
+#: common/models.py:116
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:115
+#: common/models.py:122
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:116
+#: common/models.py:123
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:122
+#: common/models.py:129
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:123
+#: common/models.py:130
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:129
+#: common/models.py:136
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:130
+#: common/models.py:137
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:136
+#: common/models.py:143
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:137
+#: common/models.py:144
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:143
+#: common/models.py:150
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:144
+#: common/models.py:151
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:150 part/models.py:2059 part/templates/part/detail.html:160
+#: common/models.py:157 part/models.py:2079 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:24
-#: templates/js/table_filters.js:288
+#: templates/js/table_filters.js:310
msgid "Template"
msgstr ""
-#: common/models.py:151
+#: common/models.py:158
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:157 part/models.py:834 part/templates/part/detail.html:170
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:300
+#: common/models.py:164 part/models.py:834 part/templates/part/detail.html:170
+#: templates/js/table_filters.js:123 templates/js/table_filters.js:322
msgid "Assembly"
msgstr ""
-#: common/models.py:158
+#: common/models.py:165
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:164 part/models.py:840 part/templates/part/detail.html:180
-#: templates/js/table_filters.js:304
+#: common/models.py:171 part/models.py:840 part/templates/part/detail.html:180
+#: templates/js/table_filters.js:326
msgid "Component"
msgstr ""
-#: common/models.py:165
+#: common/models.py:172
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:171 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:178 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:172
+#: common/models.py:179
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:178 part/models.py:856 part/templates/part/detail.html:210
-#: templates/js/table_filters.js:312
+#: common/models.py:185 part/models.py:856 part/templates/part/detail.html:210
+#: templates/js/table_filters.js:334
msgid "Salable"
msgstr ""
-#: common/models.py:179
+#: common/models.py:186
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:185 part/models.py:846 part/templates/part/detail.html:190
-#: templates/js/table_filters.js:32 templates/js/table_filters.js:316
+#: common/models.py:192 part/models.py:846 part/templates/part/detail.html:190
+#: templates/js/table_filters.js:32 templates/js/table_filters.js:338
msgid "Trackable"
msgstr ""
-#: common/models.py:186
+#: common/models.py:193
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:192 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:199 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:28
msgid "Virtual"
msgstr ""
-#: common/models.py:193
+#: common/models.py:200
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:199
+#: common/models.py:206
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:200
+#: common/models.py:207
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:206
+#: common/models.py:213
msgid "Debug Mode"
msgstr ""
-#: common/models.py:207
+#: common/models.py:214
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:213
+#: common/models.py:220
msgid "Page Size"
msgstr ""
-#: common/models.py:214
+#: common/models.py:221
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:224
+#: common/models.py:231
msgid "Test Reports"
msgstr ""
-#: common/models.py:225
+#: common/models.py:232
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:231
+#: common/models.py:238
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:232
+#: common/models.py:239
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:238
+#: common/models.py:245
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:239
+#: common/models.py:246
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:245
+#: common/models.py:252
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:246
+#: common/models.py:253
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:248 part/templates/part/detail.html:121
+#: common/models.py:255 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:253
+#: common/models.py:260
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:261
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:260
+#: common/models.py:267
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:261
+#: common/models.py:268
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:267
+#: common/models.py:274
msgid "Group by Part"
msgstr ""
-#: common/models.py:268
+#: common/models.py:275
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:274
+#: common/models.py:281
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:275
+#: common/models.py:282
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:281
+#: common/models.py:288
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:282
+#: common/models.py:289
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:287
+#: common/models.py:294
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:288
+#: common/models.py:295
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:292
+#: common/models.py:299
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:293
+#: common/models.py:300
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:298
+#: common/models.py:305
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:299
+#: common/models.py:306
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:522
+#: common/models.py:529
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:524
+#: common/models.py:531
msgid "Settings value"
msgstr ""
-#: common/models.py:559
+#: common/models.py:566
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:582
+#: common/models.py:589
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:593
+#: common/models.py:600
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:616
+#: common/models.py:623
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:697 company/forms.py:177
+#: common/models.py:704 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:705 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:712 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:706
+#: common/models.py:713
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:729
+#: common/models.py:736
msgid "Default"
msgstr ""
@@ -1702,7 +1777,7 @@ msgstr ""
#: company/forms.py:136 company/models.py:330
#: company/templates/company/manufacturer_part_base.html:89
#: company/templates/company/manufacturer_part_detail.html:26
-#: company/templates/company/supplier_part_base.html:100
+#: company/templates/company/supplier_part_base.html:101
#: company/templates/company/supplier_part_detail.html:35
#: order/templates/order/purchase_order_detail.html:183 part/bom.py:171
#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307
@@ -1761,8 +1836,8 @@ msgstr ""
#: company/models.py:124 company/models.py:336 company/models.py:488
#: order/models.py:103 part/models.py:743
#: report/templates/report/inventree_build_order_base.html:165
-#: stock/models.py:1559 templates/js/company.js:188 templates/js/company.js:318
-#: templates/js/part.js:430
+#: stock/models.py:1560 templates/js/company.js:188 templates/js/company.js:318
+#: templates/js/part.js:431
msgid "Link"
msgstr ""
@@ -1810,7 +1885,7 @@ msgstr ""
#: company/models.py:323 company/templates/company/detail.html:57
#: company/templates/company/manufacturer_part_base.html:85
#: company/templates/company/manufacturer_part_detail.html:25
-#: company/templates/company/supplier_part_base.html:93
+#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
#: part/bom.py:241 stock/templates/stock/item_base.html:341
#: templates/js/company.js:44 templates/js/company.js:165
@@ -1827,7 +1902,7 @@ msgid "Manufacturer part description"
msgstr ""
#: company/models.py:469 company/templates/company/detail.html:62
-#: company/templates/company/supplier_part_base.html:83
+#: company/templates/company/supplier_part_base.html:84
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
@@ -1841,7 +1916,7 @@ msgstr ""
msgid "Select supplier"
msgstr ""
-#: company/models.py:475 company/templates/company/supplier_part_base.html:87
+#: company/models.py:475 company/templates/company/supplier_part_base.html:88
#: company/templates/company/supplier_part_detail.html:26
#: order/templates/order/purchase_order_detail.html:174 part/bom.py:176
#: part/bom.py:287
@@ -1871,8 +1946,8 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:500 company/templates/company/supplier_part_base.html:114
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2170
+#: company/models.py:500 company/templates/company/supplier_part_base.html:115
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2190
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -1886,7 +1961,7 @@ msgstr ""
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:506 company/templates/company/supplier_part_base.html:107
+#: company/models.py:506 company/templates/company/supplier_part_base.html:108
#: stock/models.py:397 stock/templates/stock/item_base.html:299
#: templates/js/stock.js:667
msgid "Packaging"
@@ -1906,7 +1981,7 @@ msgstr ""
#: company/templates/company/assigned_stock.html:10
#: company/templates/company/navbar.html:62
-#: company/templates/company/navbar.html:65 templates/js/build.js:411
+#: company/templates/company/navbar.html:65 templates/js/build.js:467
msgid "Assigned Stock"
msgstr ""
@@ -2022,7 +2097,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1080
+#: templates/js/stock.js:1157
msgid "New Part"
msgstr ""
@@ -2069,7 +2144,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:74
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1086
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1163
msgid "New Supplier Part"
msgstr ""
@@ -2085,12 +2160,12 @@ msgstr ""
msgid "Create new Supplier"
msgstr ""
-#: company/templates/company/index.html:7
+#: company/templates/company/index.html:8
msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
-#: company/templates/company/supplier_part_base.html:35
+#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
msgid "Order part"
@@ -2111,7 +2186,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:62
#: company/templates/company/manufacturer_part_detail.html:18
-#: company/templates/company/supplier_part_base.html:60
+#: company/templates/company/supplier_part_base.html:61
#: company/templates/company/supplier_part_detail.html:18
msgid "Internal Part"
msgstr ""
@@ -2142,12 +2217,12 @@ msgstr ""
#: company/templates/company/navbar.html:41
#: company/templates/company/supplier_part_navbar.html:15
#: part/templates/part/navbar.html:36 stock/api.py:51
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:29
-#: stock/templates/stock/stock_app_base.html:9
-#: templates/InvenTree/index.html:127 templates/InvenTree/search.html:196
+#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:172
-#: templates/js/part.js:397 templates/js/stock.js:563 templates/navbar.html:26
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2168,7 +2243,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:22
#: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44
#: part/templates/part/related.html:44 part/templates/part/supplier.html:22
-#: stock/views.py:1002 users/models.py:183
+#: stock/views.py:1002 users/models.py:184
msgid "Delete"
msgstr ""
@@ -2188,8 +2263,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:33
-#: stock/templates/stock/location.html:100
-#: stock/templates/stock/location.html:115 templates/InvenTree/search.html:198
+#: stock/templates/stock/location.html:107
+#: stock/templates/stock/location.html:122
+#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location_navbar.html:22
+#: stock/templates/stock/location_navbar.html:29
+#: templates/InvenTree/search.html:198 templates/js/stock.js:968
#: templates/stats.html:72 templates/stats.html:81 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -2201,7 +2280,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
-#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:227
+#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
#: users/models.py:43
@@ -2213,7 +2292,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
-#: part/templates/part/orders.html:10 templates/InvenTree/index.html:204
+#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
#: users/models.py:42
@@ -2244,21 +2323,21 @@ msgstr ""
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/supplier_part_base.html:6
-#: company/templates/company/supplier_part_base.html:19 stock/models.py:382
+#: company/templates/company/supplier_part_base.html:7
+#: company/templates/company/supplier_part_base.html:20 stock/models.py:382
#: stock/templates/stock/item_base.html:358 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part_base.html:39
+#: company/templates/company/supplier_part_base.html:40
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part_base.html:43
+#: company/templates/company/supplier_part_base.html:44
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part_base.html:55
+#: company/templates/company/supplier_part_base.html:56
#: company/templates/company/supplier_part_detail.html:10
msgid "Supplier Part Details"
msgstr ""
@@ -2397,7 +2476,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1087
+#: company/views.py:578 templates/js/stock.js:1164
msgid "Create new Supplier Part"
msgstr ""
@@ -2583,7 +2662,7 @@ msgid "Date order was completed"
msgstr ""
#: order/models.py:243 order/models.py:342 part/views.py:1586
-#: stock/models.py:270 stock/models.py:952
+#: stock/models.py:270 stock/models.py:953
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2857,15 +2936,15 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:45
#: order/templates/order/purchase_order_detail.html:125
-#: part/templates/part/category.html:197 part/templates/part/category.html:239
+#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1169
msgid "New Location"
msgstr ""
#: order/templates/order/purchase_order_detail.html:46
#: order/templates/order/purchase_order_detail.html:126
-#: stock/templates/stock/location.html:35
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -2902,13 +2981,14 @@ msgstr ""
#: order/templates/order/receive_parts.html:14 part/api.py:40
#: part/models.py:322 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:95
-#: part/templates/part/category_navbar.html:11
-#: part/templates/part/category_navbar.html:14
+#: part/templates/part/category.html:99
+#: part/templates/part/category_navbar.html:22
+#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
-#: templates/InvenTree/index.html:96 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/navbar.html:23
-#: templates/stats.html:59 templates/stats.html:68 users/models.py:38
+#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
+#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/navbar.html:23 templates/stats.html:59 templates/stats.html:68
+#: users/models.py:38
msgid "Parts"
msgstr ""
@@ -2921,7 +3001,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:413
+#: part/templates/part/part_base.html:129 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -2965,26 +3045,18 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:75
-#: order/templates/order/sales_order_detail.html:157
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:420 stock/templates/stock/item_base.html:238
-#: templates/js/build.js:418
-msgid "Serial Number"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342
-#: templates/js/build.js:571 templates/js/build.js:984
+#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459
-#: templates/js/build.js:789
+#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515
+#: templates/js/build.js:849
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461
-#: templates/js/build.js:790
+#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517
+#: templates/js/build.js:850
msgid "Delete stock allocation"
msgstr ""
@@ -2996,8 +3068,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523
-#: templates/js/build.js:785
+#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579
+#: templates/js/build.js:845
msgid "Allocated"
msgstr ""
@@ -3009,7 +3081,7 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585
+#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641
msgid "Allocate stock"
msgstr ""
@@ -3017,8 +3089,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578
-#: templates/js/build.js:992
+#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634
+#: templates/js/build.js:1052
msgid "Build stock"
msgstr ""
@@ -3228,7 +3300,7 @@ msgid "Remove allocation"
msgstr ""
#: part/bom.py:138 part/models.py:72 part/models.py:762
-#: part/templates/part/category.html:62 part/templates/part/detail.html:90
+#: part/templates/part/category.html:66 part/templates/part/detail.html:90
msgid "Default Location"
msgstr ""
@@ -3305,7 +3377,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2057
+#: part/forms.py:122 part/models.py:2077
msgid "Parent Part"
msgstr ""
@@ -3381,7 +3453,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2151
+#: part/forms.py:344 part/models.py:2171
msgid "Sub part"
msgstr ""
@@ -3401,13 +3473,13 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2103
-#: part/templates/part/part_app_base.html:9
+#: part/models.py:82 part/models.py:2123
+#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:83 part/templates/part/category.html:19
-#: part/templates/part/category.html:90 part/templates/part/category.html:141
+#: part/models.py:83 part/templates/part/category.html:23
+#: part/templates/part/category.html:94 part/templates/part/category.html:141
#: templates/InvenTree/search.html:127 templates/stats.html:63
#: users/models.py:37
msgid "Part Categories"
@@ -3462,7 +3534,7 @@ msgstr ""
msgid "Part description"
msgstr ""
-#: part/models.py:716 part/templates/part/category.html:69
+#: part/models.py:716 part/templates/part/category.html:73
#: part/templates/part/detail.html:67
msgid "Keywords"
msgstr ""
@@ -3471,8 +3543,8 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2102 part/templates/part/detail.html:73
-#: part/templates/part/set_category.html:15 templates/js/part.js:384
+#: part/models.py:724 part/models.py:2122 part/templates/part/detail.html:73
+#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3481,7 +3553,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:160
+#: part/templates/part/part_base.html:94 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3494,7 +3566,7 @@ msgid "Part revision or version number"
msgstr ""
#: part/models.py:738 part/templates/part/detail.html:35 report/models.py:198
-#: templates/js/part.js:164
+#: templates/js/part.js:165
msgid "Revision"
msgstr ""
@@ -3526,7 +3598,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2031 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2051 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3557,7 +3629,7 @@ msgstr ""
#: part/models.py:861 part/templates/part/detail.html:227
#: templates/js/table_filters.js:20 templates/js/table_filters.js:60
-#: templates/js/table_filters.js:214 templates/js/table_filters.js:283
+#: templates/js/table_filters.js:236 templates/js/table_filters.js:305
msgid "Active"
msgstr ""
@@ -3593,167 +3665,167 @@ msgstr ""
msgid "Creation User"
msgstr ""
-#: part/models.py:1929
+#: part/models.py:1949
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:1946
+#: part/models.py:1966
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:1966 templates/js/part.js:561 templates/js/stock.js:104
+#: part/models.py:1986 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:1967
+#: part/models.py:1987
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:1972
+#: part/models.py:1992
msgid "Test Description"
msgstr ""
-#: part/models.py:1973
+#: part/models.py:1993
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:1978 templates/js/part.js:570
-#: templates/js/table_filters.js:200
+#: part/models.py:1998 templates/js/part.js:647
+#: templates/js/table_filters.js:222
msgid "Required"
msgstr ""
-#: part/models.py:1979
+#: part/models.py:1999
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:1984 templates/js/part.js:578
+#: part/models.py:2004 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:1985
+#: part/models.py:2005
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:1990 templates/js/part.js:585
+#: part/models.py:2010 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:1991
+#: part/models.py:2011
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2024
+#: part/models.py:2044
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2029
+#: part/models.py:2049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2051
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2059 part/models.py:2108 part/models.py:2109
+#: part/models.py:2079 part/models.py:2128 part/models.py:2129
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2061
+#: part/models.py:2081
msgid "Data"
msgstr ""
-#: part/models.py:2061
+#: part/models.py:2081
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2113 templates/InvenTree/settings/category.html:67
+#: part/models.py:2133 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2114
+#: part/models.py:2134
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2163
msgid "Select parent part"
msgstr ""
-#: part/models.py:2152
+#: part/models.py:2172
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2158
+#: part/models.py:2178
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2160 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2180 templates/js/bom.js:216 templates/js/bom.js:269
msgid "Optional"
msgstr ""
-#: part/models.py:2160
+#: part/models.py:2180
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2163
+#: part/models.py:2183
msgid "Overage"
msgstr ""
-#: part/models.py:2164
+#: part/models.py:2184
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2167
+#: part/models.py:2187
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2170
+#: part/models.py:2190
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2192
msgid "Checksum"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2192
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2176 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2196 templates/js/bom.js:279 templates/js/bom.js:286
#: templates/js/table_filters.js:50
msgid "Inherited"
msgstr ""
-#: part/models.py:2177
+#: part/models.py:2197
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2253 part/views.py:1592 part/views.py:1644
+#: part/models.py:2273 part/views.py:1592 part/views.py:1644
#: stock/models.py:260
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2262 part/models.py:2264
+#: part/models.py:2282 part/models.py:2284
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2267
+#: part/models.py:2287
msgid "BOM Item"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2404
msgid "Part 1"
msgstr ""
-#: part/models.py:2388
+#: part/models.py:2408
msgid "Part 2"
msgstr ""
-#: part/models.py:2388
+#: part/models.py:2408
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2420
+#: part/models.py:2440
msgid ""
"Error creating relationship: check that the part is not related to itself "
"and that the relationship is unique"
@@ -3841,7 +3913,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1081
+#: templates/js/stock.js:1158
msgid "Create New Part"
msgstr ""
@@ -3957,39 +4029,42 @@ msgstr ""
msgid "Start New Build"
msgstr ""
-#: part/templates/part/category.html:20
+#: part/templates/part/category.html:24
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:25 part/views.py:2270
+#: part/templates/part/category.html:29 part/views.py:2270
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:31
+#: part/templates/part/category.html:35
msgid "Edit part category"
msgstr ""
-#: part/templates/part/category.html:36
+#: part/templates/part/category.html:40
msgid "Delete part category"
msgstr ""
-#: part/templates/part/category.html:46 part/templates/part/category.html:85
+#: part/templates/part/category.html:50 part/templates/part/category.html:89
msgid "Category Details"
msgstr ""
-#: part/templates/part/category.html:51
+#: part/templates/part/category.html:55
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:56
+#: part/templates/part/category.html:60
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:75
+#: part/templates/part/category.html:79
+#: part/templates/part/category_navbar.html:11
+#: part/templates/part/category_navbar.html:18
+#: part/templates/part/subcategory.html:16
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:80
+#: part/templates/part/category.html:84
msgid "Parts (Including subcategories)"
msgstr ""
@@ -4009,24 +4084,24 @@ msgstr ""
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:198
+#: part/templates/part/category.html:186
#: stock/templates/stock/location.html:192 templates/js/stock.js:709
msgid "Create new location"
msgstr ""
-#: part/templates/part/category.html:203 part/templates/part/category.html:233
+#: part/templates/part/category.html:191 part/templates/part/category.html:221
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:204
+#: part/templates/part/category.html:192
msgid "Create new category"
msgstr ""
-#: part/templates/part/category.html:234
+#: part/templates/part/category.html:222
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:240 stock/views.py:1359
+#: part/templates/part/category.html:228 stock/views.py:1359
msgid "Create new Stock Location"
msgstr ""
@@ -4070,8 +4145,8 @@ msgid ""
"category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:18
-#: part/templates/part/category_navbar.html:21
+#: part/templates/part/category_navbar.html:34
+#: part/templates/part/category_navbar.html:37
#: part/templates/part/navbar.html:22
msgid "Parameters"
msgstr ""
@@ -4255,7 +4330,7 @@ msgstr ""
#: part/templates/part/params.html:28
#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1654 templates/InvenTree/settings/header.html:8
+#: stock/models.py:1655 templates/InvenTree/settings/header.html:8
#: templates/js/stock.js:124
msgid "Value"
msgstr ""
@@ -4272,7 +4347,7 @@ msgstr ""
msgid "Create New Parameter Template"
msgstr ""
-#: part/templates/part/part_app_base.html:11
+#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
@@ -4282,7 +4357,7 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:33 templates/js/company.js:156
-#: templates/js/company.js:254 templates/js/part.js:75 templates/js/part.js:152
+#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
@@ -4292,19 +4367,19 @@ msgstr ""
#: part/templates/part/part_base.html:47
#: stock/templates/stock/item_base.html:131
-#: stock/templates/stock/location.html:44
+#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
#: part/templates/part/part_base.html:49
#: stock/templates/stock/item_base.html:133
-#: stock/templates/stock/location.html:46 templates/qr_button.html:1
+#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: part/templates/part/part_base.html:50
#: stock/templates/stock/item_base.html:149
-#: stock/templates/stock/location.html:47
+#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
@@ -4332,11 +4407,11 @@ msgstr ""
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:134
+#: part/templates/part/part_base.html:123 templates/js/table_filters.js:156
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:130
+#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
@@ -4352,7 +4427,7 @@ msgstr ""
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:417
+#: part/templates/part/part_base.html:171 templates/js/part.js:418
msgid "Building"
msgstr ""
@@ -4477,18 +4552,14 @@ msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:421
+#: templates/js/part.js:422
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:129
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:130
msgid "Low Stock"
msgstr ""
-#: part/templates/part/subcategories.html:5
-msgid "Child Categories"
-msgstr ""
-
#: part/templates/part/supplier.html:10
msgid "Part Suppliers"
msgstr ""
@@ -4825,17 +4896,17 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1642
+#: stock/models.py:1643
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1648
+#: stock/models.py:1649
msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:195 templates/js/stock.js:909
+#: templates/js/order.js:195 templates/js/stock.js:986
msgid "Date"
msgstr ""
@@ -4892,7 +4963,8 @@ msgstr ""
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:267 templates/js/table_filters.js:111
+#: stock/forms.py:267 templates/js/table_filters.js:70
+#: templates/js/table_filters.js:133
msgid "Include sublocations"
msgstr ""
@@ -5001,7 +5073,7 @@ msgstr ""
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:388 stock/templates/stock/stock_app_base.html:7
+#: stock/models.py:388 stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
@@ -5091,101 +5163,101 @@ msgstr ""
msgid "Returned to location"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:792
msgid "Installed into stock item"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:800
msgid "Installed stock item"
msgstr ""
-#: stock/models.py:823
+#: stock/models.py:824
msgid "Uninstalled stock item"
msgstr ""
-#: stock/models.py:842
+#: stock/models.py:843
msgid "Uninstalled into location"
msgstr ""
-#: stock/models.py:943
+#: stock/models.py:944
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:949
+#: stock/models.py:950
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:955
+#: stock/models.py:956
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:958
+#: stock/models.py:959
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:962
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:993
+#: stock/models.py:994
msgid "Add serial number"
msgstr ""
-#: stock/models.py:996
+#: stock/models.py:997
#, python-brace-format
msgid "Serialized {n} items"
msgstr ""
-#: stock/models.py:1074
+#: stock/models.py:1075
msgid "Split from existing stock"
msgstr ""
-#: stock/models.py:1112
+#: stock/models.py:1113
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1555
+#: stock/models.py:1556
msgid "Title"
msgstr ""
-#: stock/models.py:1555
+#: stock/models.py:1556
msgid "Tracking entry title"
msgstr ""
-#: stock/models.py:1557
+#: stock/models.py:1558
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1559
+#: stock/models.py:1560
msgid "Link to external page for further information"
msgstr ""
-#: stock/models.py:1619
+#: stock/models.py:1620
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1625
+#: stock/models.py:1626
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1643
+#: stock/models.py:1644
msgid "Test name"
msgstr ""
-#: stock/models.py:1649 templates/js/table_filters.js:190
+#: stock/models.py:1650 templates/js/table_filters.js:212
msgid "Test result"
msgstr ""
-#: stock/models.py:1655
+#: stock/models.py:1656
msgid "Test output value"
msgstr ""
-#: stock/models.py:1662
+#: stock/models.py:1663
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1668
+#: stock/models.py:1669
msgid "Test notes"
msgstr ""
@@ -5246,12 +5318,12 @@ msgid ""
msgstr ""
#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:123
+#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:145
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:99
-#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:128
+#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:150
msgid "Stale"
msgstr ""
@@ -5282,15 +5354,15 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:164
-#: stock/templates/stock/location.html:58 templates/stock_table.html:55
+#: stock/templates/stock/location.html:65 templates/stock_table.html:56
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:167 templates/stock_table.html:53
+#: stock/templates/stock/item_base.html:167 templates/stock_table.html:54
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:170 templates/stock_table.html:54
+#: stock/templates/stock/item_base.html:170 templates/stock_table.html:55
msgid "Remove stock"
msgstr ""
@@ -5310,7 +5382,7 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1222
+#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1299
msgid "Uninstall stock item"
msgstr ""
@@ -5319,7 +5391,7 @@ msgid "Uninstall"
msgstr ""
#: stock/templates/stock/item_base.html:196
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
@@ -5343,7 +5415,7 @@ msgstr ""
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:278 templates/js/build.js:442
+#: stock/templates/stock/item_base.html:278 templates/js/build.js:498
msgid "No location set"
msgstr ""
@@ -5437,53 +5509,56 @@ msgstr ""
msgid "Add Test Data"
msgstr ""
-#: stock/templates/stock/location.html:13
+#: stock/templates/stock/location.html:20
msgid ""
"You are not in the list of owners of this location. This stock location "
"cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:30
+#: stock/templates/stock/location.html:37
msgid "All stock items"
msgstr ""
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:55
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:64
+#: stock/templates/stock/location.html:71
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:66
+#: stock/templates/stock/location.html:73
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:68
+#: stock/templates/stock/location.html:75
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:80
+#: stock/templates/stock/location.html:87
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:92
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:90
+#: stock/templates/stock/location.html:97
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:95
+#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location_navbar.html:11
+#: stock/templates/stock/location_navbar.html:18
+#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:105
+#: stock/templates/stock/location.html:112
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:110 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
#: templates/stats.html:76 users/models.py:39
msgid "Stock Locations"
msgstr ""
@@ -5492,18 +5567,6 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/location_list.html:6
-msgid "Sub-Locations"
-msgstr ""
-
-#. Translators: pluralize with counter
-#: stock/templates/stock/location_list.html:17
-#, python-format
-msgid "%(counter)s Item"
-msgid_plural "%(counter)s Items"
-msgstr[0] ""
-msgstr[1] ""
-
#: stock/templates/stock/navbar.html:11
msgid "Stock Item Tracking"
msgstr ""
@@ -5528,7 +5591,7 @@ msgstr ""
msgid "Remove item"
msgstr ""
-#: stock/templates/stock/stock_app_base.html:15
+#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5553,6 +5616,14 @@ msgstr ""
msgid "This action cannot be easily undone"
msgstr ""
+#: stock/templates/stock/sublocation.html:23 templates/stock_table.html:37
+msgid "Printing Actions"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:27 templates/stock_table.html:41
+msgid "Print labels"
+msgstr ""
+
#: stock/templates/stock/tracking_delete.html:6
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
@@ -5674,7 +5745,7 @@ msgstr ""
msgid "Add Stock Items"
msgstr ""
-#: stock/views.py:1001 users/models.py:179
+#: stock/views.py:1001 users/models.py:180
msgid "Add"
msgstr ""
@@ -5736,7 +5807,7 @@ msgstr ""
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1543 templates/js/build.js:210
+#: stock/views.py:1543 templates/js/build.js:244
msgid "Create new Stock Item"
msgstr ""
@@ -5784,55 +5855,55 @@ msgstr ""
msgid "The requested page does not exist"
msgstr ""
-#: templates/InvenTree/index.html:6
+#: templates/InvenTree/index.html:7
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:97
+#: templates/InvenTree/index.html:98
msgid "Starred Parts"
msgstr ""
-#: templates/InvenTree/index.html:98
+#: templates/InvenTree/index.html:99
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:99
+#: templates/InvenTree/index.html:100
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:128
+#: templates/InvenTree/index.html:129
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:144
+#: templates/InvenTree/index.html:145
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:145
+#: templates/InvenTree/index.html:146
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:183
+#: templates/InvenTree/index.html:184
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:184
+#: templates/InvenTree/index.html:185
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:205
+#: templates/InvenTree/index.html:206
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:206
+#: templates/InvenTree/index.html:207
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:228
+#: templates/InvenTree/index.html:229
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:229
+#: templates/InvenTree/index.html:230
msgid "Overdue Sales Orders"
msgstr ""
@@ -5882,7 +5953,7 @@ msgstr ""
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:26
+#: templates/InvenTree/settings/global.html:27
msgid "Barcode Settings"
msgstr ""
@@ -5922,8 +5993,8 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:7
-#: templates/InvenTree/settings/settings.html:13 templates/navbar.html:84
+#: templates/InvenTree/settings/settings.html:8
+#: templates/InvenTree/settings/settings.html:14 templates/navbar.html:84
msgid "Settings"
msgstr ""
@@ -5935,7 +6006,7 @@ msgstr ""
msgid "Stock Settings"
msgstr ""
-#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:48
+#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:49
msgid "Stock Options"
msgstr ""
@@ -5995,7 +6066,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:28
-#: templates/registration/login.html:58
+#: templates/registration/login.html:59
msgid "Username"
msgstr ""
@@ -6180,7 +6251,7 @@ msgstr ""
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/bom.js:175 templates/js/build.js:934
+#: templates/js/bom.js:175 templates/js/build.js:994
msgid "Open subassembly"
msgstr ""
@@ -6218,57 +6289,58 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032
+#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
-#: templates/js/build.js:56
+#: templates/js/build.js:62
msgid "Auto-allocate stock items to this output"
msgstr ""
-#: templates/js/build.js:62
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:71
+#: templates/js/build.js:70
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/build.js:77
+#: templates/js/build.js:80
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/build.js:89
msgid "Delete build output"
msgstr ""
-#: templates/js/build.js:209 templates/stock_table.html:20
+#: templates/js/build.js:243 templates/stock_table.html:20
msgid "New Stock Item"
msgstr ""
-#: templates/js/build.js:493
+#: templates/js/build.js:549
msgid "Required Part"
msgstr ""
-#: templates/js/build.js:514
+#: templates/js/build.js:570
msgid "Quantity Per"
msgstr ""
-#: templates/js/build.js:582 templates/js/build.js:996
-#: templates/stock_table.html:57
+#: templates/js/build.js:638 templates/js/build.js:1056
+#: templates/stock_table.html:58
msgid "Order stock"
msgstr ""
-#: templates/js/build.js:632
+#: templates/js/build.js:691
msgid "No builds matching query"
msgstr ""
-#: templates/js/build.js:649 templates/js/part.js:323 templates/js/stock.js:511
-#: templates/js/stock.js:1254
+#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
+#: templates/js/stock.js:511 templates/js/stock.js:938
+#: templates/js/stock.js:1331
msgid "Select"
msgstr ""
-#: templates/js/build.js:669
+#: templates/js/build.js:728
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:767
+#: templates/js/build.js:827
msgid "No parts allocated for"
msgstr ""
@@ -6289,12 +6361,12 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/company.js:148 templates/js/company.js:246
-#: templates/js/part.js:59 templates/js/part.js:144
+#: templates/js/part.js:60 templates/js/part.js:145
msgid "Template part"
msgstr ""
#: templates/js/company.js:152 templates/js/company.js:250
-#: templates/js/part.js:63 templates/js/part.js:148
+#: templates/js/part.js:64 templates/js/part.js:149
msgid "Assembled part"
msgstr ""
@@ -6468,59 +6540,63 @@ msgstr ""
msgid "No sales orders found"
msgstr ""
-#: templates/js/part.js:51 templates/js/part.js:136
+#: templates/js/part.js:52 templates/js/part.js:137
msgid "Trackable part"
msgstr ""
-#: templates/js/part.js:55 templates/js/part.js:140
+#: templates/js/part.js:56 templates/js/part.js:141
msgid "Virtual part"
msgstr ""
-#: templates/js/part.js:67
+#: templates/js/part.js:68
msgid "Starred part"
msgstr ""
-#: templates/js/part.js:71
+#: templates/js/part.js:72
msgid "Salable part"
msgstr ""
-#: templates/js/part.js:185
+#: templates/js/part.js:186
msgid "No variants found"
msgstr ""
-#: templates/js/part.js:271 templates/js/part.js:451
+#: templates/js/part.js:272 templates/js/part.js:452
msgid "No parts found"
msgstr ""
-#: templates/js/part.js:390
+#: templates/js/part.js:391
msgid "No category"
msgstr ""
-#: templates/js/part.js:408 templates/js/table_filters.js:296
+#: templates/js/part.js:409 templates/js/table_filters.js:318
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:511
+#: templates/js/part.js:571 templates/js/stock.js:962
+msgid "Path"
+msgstr ""
+
+#: templates/js/part.js:588
msgid "YES"
msgstr ""
-#: templates/js/part.js:513
+#: templates/js/part.js:590
msgid "NO"
msgstr ""
-#: templates/js/part.js:547
+#: templates/js/part.js:624
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:598 templates/js/stock.js:75
+#: templates/js/part.js:675 templates/js/stock.js:75
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:599 templates/js/stock.js:76
+#: templates/js/part.js:676 templates/js/stock.js:76
msgid "Delete test result"
msgstr ""
-#: templates/js/part.js:605
+#: templates/js/part.js:682
msgid "This test is defined for a parent part"
msgstr ""
@@ -6690,7 +6766,7 @@ msgstr ""
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:620 templates/js/table_filters.js:116
+#: templates/js/stock.js:620 templates/js/table_filters.js:138
msgid "Depleted"
msgstr ""
@@ -6714,31 +6790,31 @@ msgstr ""
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:973
+#: templates/js/stock.js:1050
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:983
+#: templates/js/stock.js:1060
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:984
+#: templates/js/stock.js:1061
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1093
+#: templates/js/stock.js:1170
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1192
+#: templates/js/stock.js:1269
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1285 templates/js/table_filters.js:149
+#: templates/js/stock.js:1362 templates/js/table_filters.js:171
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1310
+#: templates/js/stock.js:1387
msgid "Install item"
msgstr ""
@@ -6750,148 +6826,153 @@ msgstr ""
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:70 templates/js/table_filters.js:159
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/table_filters.js:73 templates/js/table_filters.js:166
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/table_filters.js:74 templates/js/table_filters.js:167
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/table_filters.js:77 templates/js/table_filters.js:170
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/table_filters.js:78 templates/js/table_filters.js:171
-msgid "Serial number less than or equal to"
+#: templates/js/table_filters.js:71
+msgid "Include locations"
msgstr ""
#: templates/js/table_filters.js:81 templates/js/table_filters.js:82
-#: templates/js/table_filters.js:162 templates/js/table_filters.js:163
-msgid "Serial number"
-msgstr ""
-
-#: templates/js/table_filters.js:86 templates/js/table_filters.js:180
-msgid "Batch code"
-msgstr ""
-
-#: templates/js/table_filters.js:96 templates/js/table_filters.js:263
-msgid "Active parts"
-msgstr ""
-
-#: templates/js/table_filters.js:97
-msgid "Show stock for active parts"
-msgstr ""
-
-#: templates/js/table_filters.js:102
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/table_filters.js:106
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/table_filters.js:107
-msgid "Item has been allocated"
-msgstr ""
-
-#: templates/js/table_filters.js:112
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: templates/js/table_filters.js:117
-msgid "Show stock items which are depleted"
-msgstr ""
-
-#: templates/js/table_filters.js:124
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:129
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:135
-msgid "Show items which are in stock"
-msgstr ""
-
-#: templates/js/table_filters.js:139
-msgid "In Production"
-msgstr ""
-
-#: templates/js/table_filters.js:140
-msgid "Show items which are in production"
-msgstr ""
-
-#: templates/js/table_filters.js:144
-msgid "Include Variants"
-msgstr ""
-
-#: templates/js/table_filters.js:145
-msgid "Include stock items for variant parts"
-msgstr ""
-
-#: templates/js/table_filters.js:150
-msgid "Show stock items which are installed in another item"
-msgstr ""
-
-#: templates/js/table_filters.js:154
-msgid "Sent to customer"
-msgstr ""
-
-#: templates/js/table_filters.js:155
-msgid "Show items which have been assigned to a customer"
-msgstr ""
-
-#: templates/js/table_filters.js:175 templates/js/table_filters.js:176
-msgid "Stock status"
-msgstr ""
-
-#: templates/js/table_filters.js:209
-msgid "Build status"
-msgstr ""
-
-#: templates/js/table_filters.js:228 templates/js/table_filters.js:245
-msgid "Order status"
-msgstr ""
-
-#: templates/js/table_filters.js:233 templates/js/table_filters.js:250
-msgid "Outstanding"
-msgstr ""
-
-#: templates/js/table_filters.js:273
+#: templates/js/table_filters.js:295
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:274
+#: templates/js/table_filters.js:92 templates/js/table_filters.js:181
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/table_filters.js:95 templates/js/table_filters.js:188
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/table_filters.js:96 templates/js/table_filters.js:189
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:99 templates/js/table_filters.js:192
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/table_filters.js:100 templates/js/table_filters.js:193
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:103 templates/js/table_filters.js:104
+#: templates/js/table_filters.js:184 templates/js/table_filters.js:185
+msgid "Serial number"
+msgstr ""
+
+#: templates/js/table_filters.js:108 templates/js/table_filters.js:202
+msgid "Batch code"
+msgstr ""
+
+#: templates/js/table_filters.js:118 templates/js/table_filters.js:285
+msgid "Active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:119
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:124
+msgid "Part is an assembly"
+msgstr ""
+
+#: templates/js/table_filters.js:128
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:129
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:134
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/table_filters.js:139
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/table_filters.js:146
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/table_filters.js:151
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/table_filters.js:157
+msgid "Show items which are in stock"
+msgstr ""
+
+#: templates/js/table_filters.js:161
+msgid "In Production"
+msgstr ""
+
+#: templates/js/table_filters.js:162
+msgid "Show items which are in production"
+msgstr ""
+
+#: templates/js/table_filters.js:166
+msgid "Include Variants"
+msgstr ""
+
+#: templates/js/table_filters.js:167
+msgid "Include stock items for variant parts"
+msgstr ""
+
+#: templates/js/table_filters.js:172
+msgid "Show stock items which are installed in another item"
+msgstr ""
+
+#: templates/js/table_filters.js:176
+msgid "Sent to customer"
+msgstr ""
+
+#: templates/js/table_filters.js:177
+msgid "Show items which have been assigned to a customer"
+msgstr ""
+
+#: templates/js/table_filters.js:197 templates/js/table_filters.js:198
+msgid "Stock status"
+msgstr ""
+
+#: templates/js/table_filters.js:231
+msgid "Build status"
+msgstr ""
+
+#: templates/js/table_filters.js:250 templates/js/table_filters.js:267
+msgid "Order status"
+msgstr ""
+
+#: templates/js/table_filters.js:255 templates/js/table_filters.js:272
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/table_filters.js:296
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:278
+#: templates/js/table_filters.js:300
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:279
+#: templates/js/table_filters.js:301
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:284
+#: templates/js/table_filters.js:306
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:292
+#: templates/js/table_filters.js:314
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:308
+#: templates/js/table_filters.js:330
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/table_filters.js:342
msgid "Purchasable"
msgstr ""
@@ -6972,7 +7053,7 @@ msgstr ""
msgid "Logout"
msgstr ""
-#: templates/navbar.html:81 templates/registration/login.html:89
+#: templates/navbar.html:81 templates/registration/login.html:90
msgid "Login"
msgstr ""
@@ -6984,73 +7065,73 @@ msgstr ""
msgid "QR data not provided"
msgstr ""
-#: templates/registration/logged_out.html:50
+#: templates/registration/logged_out.html:51
msgid "You have been logged out"
msgstr ""
-#: templates/registration/logged_out.html:51
-#: templates/registration/password_reset_complete.html:51
-#: templates/registration/password_reset_done.html:58
+#: templates/registration/logged_out.html:52
+#: templates/registration/password_reset_complete.html:52
+#: templates/registration/password_reset_done.html:59
msgid "Return to login screen"
msgstr ""
-#: templates/registration/login.html:64
+#: templates/registration/login.html:65
msgid "Enter username"
msgstr ""
-#: templates/registration/login.html:70
+#: templates/registration/login.html:71
msgid "Password"
msgstr ""
-#: templates/registration/login.html:83
+#: templates/registration/login.html:84
msgid "Username / password combination is incorrect"
msgstr ""
-#: templates/registration/login.html:95
-#: templates/registration/password_reset_form.html:51
+#: templates/registration/login.html:96
+#: templates/registration/password_reset_form.html:52
msgid "Forgotten your password?"
msgstr ""
-#: templates/registration/login.html:95
+#: templates/registration/login.html:96
msgid "Click here to reset"
msgstr ""
-#: templates/registration/password_reset_complete.html:50
+#: templates/registration/password_reset_complete.html:51
msgid "Password reset complete"
msgstr ""
-#: templates/registration/password_reset_confirm.html:52
-#: templates/registration/password_reset_confirm.html:56
+#: templates/registration/password_reset_confirm.html:53
+#: templates/registration/password_reset_confirm.html:57
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:60
+#: templates/registration/password_reset_confirm.html:61
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_done.html:51
+#: templates/registration/password_reset_done.html:52
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly."
msgstr ""
-#: templates/registration/password_reset_done.html:54
+#: templates/registration/password_reset_done.html:55
msgid ""
"If you don't receive an email, please make sure you've entered the address "
"you registered with, and check your spam folder."
msgstr ""
-#: templates/registration/password_reset_form.html:52
+#: templates/registration/password_reset_form.html:53
msgid "Enter your email address below."
msgstr ""
-#: templates/registration/password_reset_form.html:53
+#: templates/registration/password_reset_form.html:54
msgid "An email will be sent with password reset instructions."
msgstr ""
-#: templates/registration/password_reset_form.html:58
+#: templates/registration/password_reset_form.html:59
msgid "Send email"
msgstr ""
@@ -7098,55 +7179,47 @@ msgstr ""
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:36
-msgid "Printing Actions"
-msgstr ""
-
-#: templates/stock_table.html:40
-msgid "Print labels"
-msgstr ""
-
-#: templates/stock_table.html:42
+#: templates/stock_table.html:43
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:53
+#: templates/stock_table.html:54
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:54
+#: templates/stock_table.html:55
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:56
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:57
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:57
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:58
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:59
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:59
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:61
+#: templates/stock_table.html:62
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:61
+#: templates/stock_table.html:62
msgid "Delete Stock"
msgstr ""
@@ -7182,34 +7255,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:166
+#: users/models.py:167
msgid "Permission set"
msgstr ""
-#: users/models.py:174
+#: users/models.py:175
msgid "Group"
msgstr ""
-#: users/models.py:177
+#: users/models.py:178
msgid "View"
msgstr ""
-#: users/models.py:177
+#: users/models.py:178
msgid "Permission to view items"
msgstr ""
-#: users/models.py:179
+#: users/models.py:180
msgid "Permission to add items"
msgstr ""
-#: users/models.py:181
+#: users/models.py:182
msgid "Change"
msgstr ""
-#: users/models.py:181
+#: users/models.py:182
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:183
+#: users/models.py:184
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 88164f6c11..a99521bf12 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-04-17 23:25+0000\n"
+"POT-Creation-Date: 2021-04-21 17:15+1000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -34,8 +34,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:110 build/forms.py:99 build/forms.py:120
-#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223
+#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122
+#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
@@ -49,7 +49,7 @@ msgstr ""
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:159 templates/registration/login.html:76
+#: InvenTree/forms.py:159 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
@@ -106,7 +106,7 @@ msgstr ""
msgid "Number of unique serial number ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/models.py:59 stock/models.py:1661
+#: InvenTree/models.py:59 stock/models.py:1662
msgid "Attachment"
msgstr ""
@@ -122,9 +122,9 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1888
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1908
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:964
+#: templates/js/stock.js:1041
msgid "User"
msgstr ""
@@ -133,9 +133,10 @@ msgid "upload date"
msgstr ""
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:101
-#: part/models.py:686 part/models.py:2029 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2049 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
-#: templates/InvenTree/search.html:289 templates/js/part.js:109
+#: templates/InvenTree/search.html:289 templates/js/part.js:110
+#: templates/js/part.js:553 templates/js/stock.js:944
msgid "Name"
msgstr ""
@@ -143,7 +144,7 @@ msgstr ""
#: build/templates/build/detail.html:21 company/models.py:342
#: company/models.py:494 company/templates/company/detail.html:27
#: company/templates/company/manufacturer_part_base.html:72
-#: company/templates/company/supplier_part_base.html:70
+#: company/templates/company/supplier_part_base.html:71
#: company/templates/company/supplier_part_detail.html:31 label/models.py:108
#: order/models.py:101 order/templates/order/purchase_order_detail.html:168
#: part/models.py:710 part/templates/part/detail.html:54
@@ -153,11 +154,12 @@ msgstr ""
#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
#: templates/InvenTree/search.html:296
#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
-#: templates/js/build.js:677 templates/js/build.js:944
+#: templates/js/build.js:736 templates/js/build.js:1004
#: templates/js/company.js:56 templates/js/order.js:183
-#: templates/js/order.js:280 templates/js/part.js:168 templates/js/part.js:251
-#: templates/js/part.js:370 templates/js/part.js:566 templates/js/stock.js:554
-#: templates/js/stock.js:938
+#: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252
+#: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643
+#: templates/js/stock.js:554 templates/js/stock.js:956
+#: templates/js/stock.js:1015
msgid "Description"
msgstr ""
@@ -169,92 +171,92 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:480
+#: InvenTree/settings.py:493
msgid "English"
msgstr ""
-#: InvenTree/settings.py:481
+#: InvenTree/settings.py:494
msgid "French"
msgstr ""
-#: InvenTree/settings.py:482
+#: InvenTree/settings.py:495
msgid "German"
msgstr ""
-#: InvenTree/settings.py:483
+#: InvenTree/settings.py:496
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:484
+#: InvenTree/settings.py:497
msgid "Turkish"
msgstr ""
-#: InvenTree/status.py:84
+#: InvenTree/status.py:93
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:88
+#: InvenTree/status.py:97
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:91
+#: InvenTree/status.py:100
msgid "InvenTree system health checks failed"
msgstr ""
-#: InvenTree/status_codes.py:94 InvenTree/status_codes.py:135
-#: InvenTree/status_codes.py:228
+#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143
+#: InvenTree/status_codes.py:236
msgid "Pending"
msgstr ""
-#: InvenTree/status_codes.py:95
+#: InvenTree/status_codes.py:103
msgid "Placed"
msgstr ""
-#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239
msgid "Complete"
msgstr ""
-#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137
-#: InvenTree/status_codes.py:230
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:238
msgid "Cancelled"
msgstr ""
-#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138
-#: InvenTree/status_codes.py:180
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:188
msgid "Lost"
msgstr ""
-#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139
-#: InvenTree/status_codes.py:182
+#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
+#: InvenTree/status_codes.py:190
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:136
+#: InvenTree/status_codes.py:144
#: order/templates/order/sales_order_base.html:124
msgid "Shipped"
msgstr ""
-#: InvenTree/status_codes.py:176
+#: InvenTree/status_codes.py:184
msgid "OK"
msgstr ""
-#: InvenTree/status_codes.py:177
+#: InvenTree/status_codes.py:185
msgid "Attention needed"
msgstr ""
-#: InvenTree/status_codes.py:178
+#: InvenTree/status_codes.py:186
msgid "Damaged"
msgstr ""
-#: InvenTree/status_codes.py:179
+#: InvenTree/status_codes.py:187
msgid "Destroyed"
msgstr ""
-#: InvenTree/status_codes.py:181
+#: InvenTree/status_codes.py:189
msgid "Rejected"
msgstr ""
-#: InvenTree/status_codes.py:229
+#: InvenTree/status_codes.py:237
msgid "Production"
msgstr ""
@@ -357,33 +359,34 @@ msgstr ""
msgid "Barcode associated with StockItem"
msgstr ""
-#: build/forms.py:34
+#: build/forms.py:36
msgid "Build Order reference"
msgstr ""
-#: build/forms.py:35
+#: build/forms.py:37
msgid "Order target date"
msgstr ""
-#: build/forms.py:39 build/templates/build/build_base.html:107
+#: build/forms.py:41 build/templates/build/build_base.html:136
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
#: order/templates/order/sales_order_base.html:117
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/build.js:723 templates/js/order.js:200
+#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
msgid "Target Date"
msgstr ""
-#: build/forms.py:40 build/models.py:224
+#: build/forms.py:42 build/models.py:224
msgid ""
"Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/forms.py:45 build/forms.py:87 build/forms.py:257 build/models.py:1103
+#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227
+#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:94
-#: build/templates/build/detail.html:31 common/models.py:696
+#: build/templates/build/build_base.html:123
+#: build/templates/build/detail.html:31 common/models.py:703
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261
#: order/forms.py:278 order/models.py:593 order/models.py:784
@@ -393,7 +396,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:159
#: order/templates/order/sales_order_detail.html:224 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2158
+#: part/forms.py:371 part/forms.py:387 part/models.py:2178
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
#: part/templates/part/part_pricing.html:11
@@ -403,90 +406,104 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
-#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1565
+#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566
#: stock/templates/stock/item_base.html:244
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
-#: templates/js/bom.js:205 templates/js/build.js:420 templates/js/build.js:954
-#: templates/js/stock.js:956 templates/js/stock.js:1194
+#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
+#: templates/js/stock.js:1033 templates/js/stock.js:1271
msgid "Quantity"
msgstr ""
-#: build/forms.py:46
+#: build/forms.py:48
msgid "Number of items to build"
msgstr ""
-#: build/forms.py:88
+#: build/forms.py:90
msgid "Enter quantity for build output"
msgstr ""
-#: build/forms.py:92 order/forms.py:233 stock/forms.py:118
+#: build/forms.py:94 order/forms.py:233 stock/forms.py:118
msgid "Serial Numbers"
msgstr ""
-#: build/forms.py:94
+#: build/forms.py:96
msgid "Enter serial numbers for build outputs"
msgstr ""
-#: build/forms.py:100
+#: build/forms.py:102
msgid "Confirm creation of build output"
msgstr ""
-#: build/forms.py:121
+#: build/forms.py:123
msgid "Confirm deletion of build output"
msgstr ""
-#: build/forms.py:142
+#: build/forms.py:144
msgid "Confirm unallocation of stock"
msgstr ""
-#: build/forms.py:166
+#: build/forms.py:168
msgid "Confirm stock allocation"
msgstr ""
-#: build/forms.py:189
+#: build/forms.py:185
msgid "Mark build as complete"
msgstr ""
-#: build/forms.py:213 build/templates/build/auto_allocate.html:18
+#: build/forms.py:209 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
#: stock/templates/stock/item_base.html:274
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
-#: templates/js/barcode.js:531 templates/js/build.js:434
+#: templates/js/barcode.js:531 templates/js/build.js:490
#: templates/js/stock.js:641
msgid "Location"
msgstr ""
-#: build/forms.py:214
+#: build/forms.py:210
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:219
+#: build/forms.py:214 build/templates/build/build_base.html:128
+#: build/templates/build/detail.html:59 order/models.py:445
+#: order/templates/order/receive_parts.html:24
+#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
+#: templates/js/barcode.js:119 templates/js/build.js:770
+#: templates/js/order.js:187 templates/js/order.js:285
+#: templates/js/stock.js:628 templates/js/stock.js:1279
+msgid "Status"
+msgstr ""
+
+#: build/forms.py:215
+msgid "Build output stock status"
+msgstr ""
+
+#: build/forms.py:222
msgid "Confirm incomplete"
msgstr ""
-#: build/forms.py:220
+#: build/forms.py:223
msgid "Confirm completion with incomplete stock allocation"
msgstr ""
-#: build/forms.py:223
+#: build/forms.py:226
msgid "Confirm build completion"
msgstr ""
-#: build/forms.py:243
+#: build/forms.py:251
msgid "Confirm cancel"
msgstr ""
-#: build/forms.py:243 build/views.py:66
+#: build/forms.py:251 build/views.py:66
msgid "Confirm build cancellation"
msgstr ""
-#: build/forms.py:257
+#: build/forms.py:265
msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:38
+#: build/templates/build/build_base.html:63
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -496,7 +513,7 @@ msgstr ""
#: build/templates/build/index.html:15 order/templates/order/so_builds.html:12
#: order/templates/order/so_navbar.html:19
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
-#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:182
+#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
#: templates/InvenTree/settings/tabs.html:31 users/models.py:41
msgid "Build Orders"
@@ -508,10 +525,10 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:595
#: order/templates/order/purchase_order_detail.html:195
-#: order/templates/order/sales_order_detail.html:219 part/models.py:2167
+#: order/templates/order/sales_order_detail.html:219 part/models.py:2187
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
-#: templates/js/build.js:509 templates/js/build.js:948
+#: templates/js/build.js:565 templates/js/build.js:1008
msgid "Reference"
msgstr ""
@@ -519,7 +536,7 @@ msgstr ""
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:124
+#: build/models.py:146 build/templates/build/build_base.html:153
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -529,28 +546,27 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:89
+#: build/templates/build/build_base.html:118
#: build/templates/build/detail.html:26 company/models.py:669
#: order/models.py:637 order/models.py:669
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:156
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:207 part/models.py:321
-#: part/models.py:1856 part/models.py:1868 part/models.py:1886
-#: part/models.py:1961 part/models.py:2057 part/models.py:2142
-#: part/templates/part/part_app_base.html:7
+#: part/models.py:1876 part/models.py:1888 part/models.py:1906
+#: part/models.py:1981 part/models.py:2077 part/models.py:2162
+#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:14 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
-#: part/templates/part/subcategories.html:17
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
#: report/templates/report/inventree_so_report.html:90
#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
#: templates/js/barcode.js:362 templates/js/bom.js:163
-#: templates/js/build.js:681 templates/js/build.js:921
+#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
-#: templates/js/part.js:232 templates/js/part.js:337 templates/js/stock.js:523
-#: templates/js/stock.js:1266
+#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
+#: templates/js/stock.js:1343
msgid "Part"
msgstr ""
@@ -625,7 +641,7 @@ msgstr ""
msgid "Target completion date"
msgstr ""
-#: build/models.py:227 order/models.py:218
+#: build/models.py:227 order/models.py:218 templates/js/build.js:788
msgid "Completion Date"
msgstr ""
@@ -641,7 +657,7 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:145
+#: build/models.py:250 build/templates/build/build_base.html:174
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
#: order/templates/order/sales_order_base.html:138 part/models.py:886
@@ -656,7 +672,7 @@ msgstr ""
#: build/models.py:256 build/templates/build/detail.html:91
#: company/templates/company/manufacturer_part_base.html:79
#: company/templates/company/manufacturer_part_detail.html:28
-#: company/templates/company/supplier_part_base.html:77
+#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
#: stock/models.py:426 stock/templates/stock/item_base.html:334
@@ -667,7 +683,7 @@ msgstr ""
msgid "Link to external URL"
msgstr ""
-#: build/models.py:261 build/templates/build/navbar.html:59
+#: build/models.py:261 build/templates/build/navbar.html:53
#: company/models.py:135 company/models.py:501
#: company/templates/company/navbar.html:70
#: company/templates/company/navbar.html:73 order/models.py:123
@@ -680,7 +696,7 @@ msgstr ""
#: part/templates/part/navbar.html:128
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
-#: stock/models.py:498 stock/models.py:1557 stock/models.py:1667
+#: stock/models.py:498 stock/models.py:1558 stock/models.py:1668
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
@@ -690,139 +706,150 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:673
+#: build/models.py:739
msgid "No build output specified"
msgstr ""
-#: build/models.py:676
+#: build/models.py:742
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:679
+#: build/models.py:745
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:754
+#: build/models.py:838
msgid "Completed build output"
msgstr ""
-#: build/models.py:996
+#: build/models.py:1118
msgid "BuildItem must be unique for build, stock_item and install_into"
msgstr ""
-#: build/models.py:1018
-msgid "Build item must specify a build output"
+#: build/models.py:1143
+msgid ""
+"Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1023
+#: build/models.py:1147
#, python-brace-format
msgid "Selected stock item not found in BOM for part '{p}'"
msgstr ""
-#: build/models.py:1027
+#: build/models.py:1151
#, python-brace-format
msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
msgstr ""
-#: build/models.py:1034 order/models.py:758
+#: build/models.py:1158 order/models.py:758
msgid "StockItem is over-allocated"
msgstr ""
-#: build/models.py:1038 order/models.py:761
+#: build/models.py:1162 order/models.py:761
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1042
+#: build/models.py:1166
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1082 stock/templates/stock/item_base.html:306
-#: templates/InvenTree/search.html:183 templates/js/build.js:655
+#: build/models.py:1206 stock/templates/stock/item_base.html:306
+#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
msgstr ""
-#: build/models.py:1083
+#: build/models.py:1207
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1090 part/templates/part/allocation.html:18
+#: build/models.py:1214 part/templates/part/allocation.html:18
#: part/templates/part/allocation.html:24
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/item_base.html:328
-#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:771
-#: templates/js/stock.js:927 templates/js/stock.js:1185
+#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
+#: templates/js/stock.js:1004 templates/js/stock.js:1262
msgid "Stock Item"
msgstr ""
-#: build/models.py:1091
+#: build/models.py:1215
msgid "Source stock item"
msgstr ""
-#: build/models.py:1104
+#: build/models.py:1228
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1112
+#: build/models.py:1236
msgid "Install into"
msgstr ""
-#: build/models.py:1113
+#: build/models.py:1237
msgid "Destination stock item"
msgstr ""
+#: build/templates/build/allocate.html:7
+msgid "Allocate Parts"
+msgstr ""
+
#: build/templates/build/allocate.html:15
-msgid "Incomplete Build Ouputs"
+msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/allocate.html:21
-msgid "Build order has been completed"
+#: build/templates/build/allocate.html:22
+msgid "Allocate stock to build"
msgstr ""
-#: build/templates/build/allocate.html:26
-msgid "Create new build output"
+#: build/templates/build/allocate.html:23
+msgid "Auto Allocate"
msgstr ""
-#: build/templates/build/allocate.html:27
-msgid "Create New Output"
+#: build/templates/build/allocate.html:25 templates/js/build.js:646
+msgid "Unallocate stock"
msgstr ""
-#: build/templates/build/allocate.html:30
+#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794
+msgid "Unallocate Stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:29
msgid "Order required parts"
msgstr ""
-#: build/templates/build/allocate.html:31
+#: build/templates/build/allocate.html:30
#: company/templates/company/detail_manufacturer_part.html:33
#: company/templates/company/detail_supplier_part.html:32 order/views.py:794
#: part/templates/part/category.html:127
msgid "Order Parts"
msgstr ""
-#: build/templates/build/allocate.html:34 templates/js/build.js:590
-msgid "Unallocate stock"
+#: build/templates/build/allocate.html:36
+msgid "Untracked stock has been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784
-msgid "Unallocate Stock"
+#: build/templates/build/allocate.html:40
+msgid "Untracked stock has not been fully allocated for this Build Order"
msgstr ""
-#: build/templates/build/allocate.html:49
-msgid "Create a new build output"
+#: build/templates/build/allocate.html:47
+msgid "This Build Order does not have any associated untracked BOM items"
msgstr ""
-#: build/templates/build/allocate.html:50
-msgid "No incomplete build outputs remain."
-msgstr ""
-
-#: build/templates/build/allocate.html:51
-msgid "Create a new build output using the button above"
+#: build/templates/build/allocation_card.html:21
+#: build/templates/build/complete_output.html:46
+#: order/templates/order/sales_order_detail.html:75
+#: order/templates/order/sales_order_detail.html:157
+#: report/templates/report/inventree_test_report_base.html:75
+#: stock/models.py:420 stock/templates/stock/item_base.html:238
+#: templates/js/build.js:474
+msgid "Serial Number"
msgstr ""
#: build/templates/build/attachments.html:12
-#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52
+#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
@@ -857,81 +884,87 @@ msgstr ""
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:40
-#: company/templates/company/company_base.html:40
-#: company/templates/company/manufacturer_part_base.html:25
-#: company/templates/company/supplier_part_base.html:25
-#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:14 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:118
-#: stock/templates/stock/location.html:24
-msgid "Admin view"
+#: build/templates/build/build_base.html:31
+msgid "Build Order is ready to mark as completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:36
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr ""
+
+#: build/templates/build/build_base.html:41
+msgid "Required build quantity has not yet been completed"
msgstr ""
#: build/templates/build/build_base.html:46
-#: build/templates/build/build_base.html:111
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:65
+#: company/templates/company/company_base.html:40
+#: company/templates/company/manufacturer_part_base.html:25
+#: company/templates/company/supplier_part_base.html:26
+#: order/templates/order/order_base.html:26
+#: order/templates/order/sales_order_base.html:35
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
+#: stock/templates/stock/item_base.html:118
+#: stock/templates/stock/location.html:31
+msgid "Admin view"
+msgstr ""
+
+#: build/templates/build/build_base.html:71
+#: build/templates/build/build_base.html:140
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
#: order/templates/order/sales_order_base.html:41
#: order/templates/order/sales_order_base.html:86
-#: templates/js/table_filters.js:218 templates/js/table_filters.js:237
-#: templates/js/table_filters.js:254
+#: templates/js/table_filters.js:240 templates/js/table_filters.js:259
+#: templates/js/table_filters.js:276
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:55
+#: build/templates/build/build_base.html:80
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:59
+#: build/templates/build/build_base.html:84
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
-msgid "Build actions"
-msgstr ""
-
-#: build/templates/build/build_base.html:69
-msgid "Edit Build"
-msgstr ""
-
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:179
+#: build/templates/build/build_base.html:90
+#: build/templates/build/build_base.html:215
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:72
-#: build/templates/build/build_base.html:170 build/views.py:57
+#: build/templates/build/build_base.html:95
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:99
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:101
+#: build/templates/build/build_base.html:199 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:85
+#: build/templates/build/build_base.html:114
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:99
-#: build/templates/build/detail.html:59 order/models.py:445
-#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
-#: templates/js/barcode.js:119 templates/js/build.js:710
-#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1202
-msgid "Status"
-msgstr ""
-
-#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:140
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:147
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr ""
-#: build/templates/build/build_base.html:131
+#: build/templates/build/build_base.html:160
#: build/templates/build/detail.html:84 order/models.py:667
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:33
@@ -943,20 +976,51 @@ msgstr ""
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:138
+#: build/templates/build/build_base.html:167
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
+#: build/templates/build/build_base.html:207
+msgid "Incomplete Outputs"
+msgstr ""
+
+#: build/templates/build/build_base.html:208
+msgid "Build Order cannot be completed as incomplete build outputs remain"
+msgstr ""
+
#: build/templates/build/build_children.html:10
-#: build/templates/build/navbar.html:42
+#: build/templates/build/navbar.html:36
msgid "Child Build Orders"
msgstr ""
-#: build/templates/build/build_output.html:10
-#: build/templates/build/navbar.html:35 build/templates/build/navbar.html:38
-msgid "Build Outputs"
+#: build/templates/build/build_output.html:15
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output.html:22
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:23
+msgid "Create New Output"
+msgstr ""
+
+#: build/templates/build/build_output.html:36
+msgid "Create a new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:37
+msgid "No incomplete build outputs remain."
+msgstr ""
+
+#: build/templates/build/build_output.html:38
+msgid "Create a new build output using the button above"
+msgstr ""
+
+#: build/templates/build/build_output.html:49
+msgid "Completed Build Outputs"
msgstr ""
#: build/templates/build/build_output_create.html:7
@@ -984,11 +1048,11 @@ msgid "Are you sure you wish to cancel this build?"
msgstr ""
#: build/templates/build/complete.html:8
-msgid "Build can be completed"
+msgid "Build Order is complete"
msgstr ""
#: build/templates/build/complete.html:12
-msgid "Build cannot be completed"
+msgid "Build Order is incomplete"
msgstr ""
#: build/templates/build/complete.html:15
@@ -999,19 +1063,23 @@ msgstr ""
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/templates/build/complete_output.html:9
-msgid "Stock allocation is complete"
+#: build/templates/build/complete.html:21
+msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:13
+#: build/templates/build/complete_output.html:10
+msgid "Stock allocation is complete for this output"
+msgstr ""
+
+#: build/templates/build/complete_output.html:14
msgid "Stock allocation is incomplete"
msgstr ""
-#: build/templates/build/complete_output.html:19
-msgid "parts have not been fully allocated"
+#: build/templates/build/complete_output.html:20
+msgid "tracked parts have not been fully allocated"
msgstr ""
-#: build/templates/build/complete_output.html:40
+#: build/templates/build/complete_output.html:41
msgid "The following items will be created"
msgstr ""
@@ -1057,14 +1125,14 @@ msgstr ""
#: build/templates/build/detail.html:70
#: stock/templates/stock/item_base.html:292 templates/js/stock.js:636
-#: templates/js/stock.js:1209 templates/js/table_filters.js:85
-#: templates/js/table_filters.js:179
+#: templates/js/stock.js:1286 templates/js/table_filters.js:107
+#: templates/js/table_filters.js:201
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:718
+#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1072,8 +1140,7 @@ msgstr ""
msgid "No target date set"
msgstr ""
-#: build/templates/build/detail.html:132 templates/js/build.js:696
-#: templates/js/build.js:728
+#: build/templates/build/detail.html:132 templates/js/build.js:756
msgid "Completed"
msgstr ""
@@ -1085,7 +1152,7 @@ msgstr ""
msgid "Alter the quantity of stock allocated to the build output"
msgstr ""
-#: build/templates/build/index.html:28 build/views.py:657
+#: build/templates/build/index.html:28 build/views.py:667
msgid "New Build Order"
msgstr ""
@@ -1116,20 +1183,20 @@ msgstr ""
msgid "Details"
msgstr ""
-#: build/templates/build/navbar.html:20 build/templates/build/navbar.html:23
-#: build/templates/build/parts.html:11
-msgid "Required Parts"
+#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24
+#: build/views.py:91
+msgid "Allocate Stock"
msgstr ""
-#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30
-msgid "In Progress"
+#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32
+msgid "Build Outputs"
msgstr ""
-#: build/templates/build/navbar.html:45
+#: build/templates/build/navbar.html:39
msgid "Child Builds"
msgstr ""
-#: build/templates/build/navbar.html:56
+#: build/templates/build/navbar.html:50
msgid "Build Order Notes"
msgstr ""
@@ -1164,66 +1231,66 @@ msgstr ""
msgid "Build was cancelled"
msgstr ""
-#: build/views.py:91
-msgid "Allocate Stock"
-msgstr ""
-
-#: build/views.py:154 build/views.py:314 build/views.py:485
-msgid "Build output must be specified"
-msgstr ""
-
-#: build/views.py:168
+#: build/views.py:138
msgid "Allocated stock to build output"
msgstr ""
-#: build/views.py:180
+#: build/views.py:150
msgid "Create Build Output"
msgstr ""
-#: build/views.py:203 stock/models.py:968 stock/views.py:1789
+#: build/views.py:173 stock/models.py:969 stock/views.py:1789
msgid "Serial numbers already exist"
msgstr ""
-#: build/views.py:212
+#: build/views.py:182
msgid "Serial numbers required for trackable build output"
msgstr ""
-#: build/views.py:278
+#: build/views.py:248
msgid "Delete Build Output"
msgstr ""
-#: build/views.py:299 build/views.py:383
+#: build/views.py:269 build/views.py:359
msgid "Confirm unallocation of build stock"
msgstr ""
-#: build/views.py:300 build/views.py:384 stock/views.py:425
+#: build/views.py:270 build/views.py:360 stock/views.py:425
msgid "Check the confirmation box"
msgstr ""
-#: build/views.py:312
+#: build/views.py:282
msgid "Build output does not match build"
msgstr ""
-#: build/views.py:326
+#: build/views.py:284 build/views.py:485
+msgid "Build output must be specified"
+msgstr ""
+
+#: build/views.py:296
msgid "Build output deleted"
msgstr ""
-#: build/views.py:408
+#: build/views.py:394
msgid "Complete Build Order"
msgstr ""
-#: build/views.py:414
-msgid "Build order cannot be completed"
+#: build/views.py:400
+msgid "Build order cannot be completed - incomplete outputs remain"
msgstr ""
-#: build/views.py:425
+#: build/views.py:411
msgid "Completed build order"
msgstr ""
-#: build/views.py:441
+#: build/views.py:427
msgid "Complete Build Output"
msgstr ""
+#: build/views.py:469
+msgid "Invalid stock status value selected"
+msgstr ""
+
#: build/views.py:476
msgid "Quantity to complete cannot exceed build output quantity"
msgstr ""
@@ -1232,81 +1299,81 @@ msgstr ""
msgid "Confirm completion of incomplete build"
msgstr ""
-#: build/views.py:573
+#: build/views.py:581
msgid "Build output completed"
msgstr ""
-#: build/views.py:711
+#: build/views.py:721
msgid "Created new build"
msgstr ""
-#: build/views.py:732
+#: build/views.py:742
msgid "Edit Build Order Details"
msgstr ""
-#: build/views.py:765
+#: build/views.py:775
msgid "Edited build"
msgstr ""
-#: build/views.py:774
+#: build/views.py:784
msgid "Delete Build Order"
msgstr ""
-#: build/views.py:789
+#: build/views.py:799
msgid "Removed parts from build allocation"
msgstr ""
-#: build/views.py:801
+#: build/views.py:811
msgid "Allocate stock to build output"
msgstr ""
-#: build/views.py:844
+#: build/views.py:854
msgid "Item must be currently in stock"
msgstr ""
-#: build/views.py:850
+#: build/views.py:860
msgid "Stock item is over-allocated"
msgstr ""
-#: build/views.py:851 templates/js/bom.js:230 templates/js/build.js:519
-#: templates/js/build.js:778 templates/js/build.js:961
+#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575
+#: templates/js/build.js:838 templates/js/build.js:1021
msgid "Available"
msgstr ""
-#: build/views.py:853
+#: build/views.py:863
msgid "Stock item must be selected"
msgstr ""
-#: build/views.py:1016
+#: build/views.py:1026
msgid "Edit Stock Allocation"
msgstr ""
-#: build/views.py:1020
+#: build/views.py:1030
msgid "Updated Build Item"
msgstr ""
-#: build/views.py:1049
+#: build/views.py:1059
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1062 order/views.py:110 order/views.py:162 part/views.py:172
+#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
-#: build/views.py:1098 order/views.py:189 order/views.py:210
+#: build/views.py:1108 order/views.py:189 order/views.py:210
msgid "Edit Attachment"
msgstr ""
-#: build/views.py:1108 order/views.py:193 order/views.py:214
+#: build/views.py:1118 order/views.py:193 order/views.py:214
msgid "Attachment updated"
msgstr ""
-#: build/views.py:1118 order/views.py:229 order/views.py:243
+#: build/views.py:1128 order/views.py:229 order/views.py:243
msgid "Delete Attachment"
msgstr ""
-#: build/views.py:1123 order/views.py:235 order/views.py:249 stock/views.py:333
+#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333
msgid "Deleted attachment"
msgstr ""
@@ -1318,335 +1385,343 @@ msgstr ""
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:62 company/models.py:97 company/models.py:98
-msgid "Company name"
+#: common/models.py:62
+msgid "Use instance name"
msgstr ""
#: common/models.py:63
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:69 company/models.py:97 company/models.py:98
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:70
msgid "Internal company name"
msgstr ""
-#: common/models.py:68
+#: common/models.py:75
msgid "Base URL"
msgstr ""
-#: common/models.py:69
+#: common/models.py:76
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:75
+#: common/models.py:82
msgid "Default Currency"
msgstr ""
-#: common/models.py:76
+#: common/models.py:83
msgid "Default currency"
msgstr ""
-#: common/models.py:82
+#: common/models.py:89
msgid "Download from URL"
msgstr ""
-#: common/models.py:83
+#: common/models.py:90
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:89
+#: common/models.py:96
msgid "Barcode Support"
msgstr ""
-#: common/models.py:90
+#: common/models.py:97
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:96
+#: common/models.py:103
msgid "IPN Regex"
msgstr ""
-#: common/models.py:97
+#: common/models.py:104
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:101
+#: common/models.py:108
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:102
+#: common/models.py:109
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:108
+#: common/models.py:115
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:109
+#: common/models.py:116
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:115
+#: common/models.py:122
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:116
+#: common/models.py:123
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:122
+#: common/models.py:129
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:123
+#: common/models.py:130
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:129
+#: common/models.py:136
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:130
+#: common/models.py:137
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:136
+#: common/models.py:143
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:137
+#: common/models.py:144
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:143
+#: common/models.py:150
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:144
+#: common/models.py:151
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:150 part/models.py:2059 part/templates/part/detail.html:160
+#: common/models.py:157 part/models.py:2079 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:24
-#: templates/js/table_filters.js:288
+#: templates/js/table_filters.js:310
msgid "Template"
msgstr ""
-#: common/models.py:151
+#: common/models.py:158
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:157 part/models.py:834 part/templates/part/detail.html:170
-#: templates/js/table_filters.js:101 templates/js/table_filters.js:300
+#: common/models.py:164 part/models.py:834 part/templates/part/detail.html:170
+#: templates/js/table_filters.js:123 templates/js/table_filters.js:322
msgid "Assembly"
msgstr ""
-#: common/models.py:158
+#: common/models.py:165
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:164 part/models.py:840 part/templates/part/detail.html:180
-#: templates/js/table_filters.js:304
+#: common/models.py:171 part/models.py:840 part/templates/part/detail.html:180
+#: templates/js/table_filters.js:326
msgid "Component"
msgstr ""
-#: common/models.py:165
+#: common/models.py:172
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:171 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:178 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:172
+#: common/models.py:179
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:178 part/models.py:856 part/templates/part/detail.html:210
-#: templates/js/table_filters.js:312
+#: common/models.py:185 part/models.py:856 part/templates/part/detail.html:210
+#: templates/js/table_filters.js:334
msgid "Salable"
msgstr ""
-#: common/models.py:179
+#: common/models.py:186
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:185 part/models.py:846 part/templates/part/detail.html:190
-#: templates/js/table_filters.js:32 templates/js/table_filters.js:316
+#: common/models.py:192 part/models.py:846 part/templates/part/detail.html:190
+#: templates/js/table_filters.js:32 templates/js/table_filters.js:338
msgid "Trackable"
msgstr ""
-#: common/models.py:186
+#: common/models.py:193
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:192 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:199 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:28
msgid "Virtual"
msgstr ""
-#: common/models.py:193
+#: common/models.py:200
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:199
+#: common/models.py:206
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:200
+#: common/models.py:207
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:206
+#: common/models.py:213
msgid "Debug Mode"
msgstr ""
-#: common/models.py:207
+#: common/models.py:214
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:213
+#: common/models.py:220
msgid "Page Size"
msgstr ""
-#: common/models.py:214
+#: common/models.py:221
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:224
+#: common/models.py:231
msgid "Test Reports"
msgstr ""
-#: common/models.py:225
+#: common/models.py:232
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:231
+#: common/models.py:238
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:232
+#: common/models.py:239
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:238
+#: common/models.py:245
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:239
+#: common/models.py:246
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:245
+#: common/models.py:252
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:246
+#: common/models.py:253
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:248 part/templates/part/detail.html:121
+#: common/models.py:255 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:253
+#: common/models.py:260
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:261
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:260
+#: common/models.py:267
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:261
+#: common/models.py:268
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:267
+#: common/models.py:274
msgid "Group by Part"
msgstr ""
-#: common/models.py:268
+#: common/models.py:275
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:274
+#: common/models.py:281
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:275
+#: common/models.py:282
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:281
+#: common/models.py:288
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:282
+#: common/models.py:289
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:287
+#: common/models.py:294
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:288
+#: common/models.py:295
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:292
+#: common/models.py:299
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:293
+#: common/models.py:300
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:298
+#: common/models.py:305
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:299
+#: common/models.py:306
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:522
+#: common/models.py:529
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:524
+#: common/models.py:531
msgid "Settings value"
msgstr ""
-#: common/models.py:559
+#: common/models.py:566
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:582
+#: common/models.py:589
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:593
+#: common/models.py:600
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:616
+#: common/models.py:623
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:697 company/forms.py:177
+#: common/models.py:704 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:705 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:712 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:706
+#: common/models.py:713
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:729
+#: common/models.py:736
msgid "Default"
msgstr ""
@@ -1702,7 +1777,7 @@ msgstr ""
#: company/forms.py:136 company/models.py:330
#: company/templates/company/manufacturer_part_base.html:89
#: company/templates/company/manufacturer_part_detail.html:26
-#: company/templates/company/supplier_part_base.html:100
+#: company/templates/company/supplier_part_base.html:101
#: company/templates/company/supplier_part_detail.html:35
#: order/templates/order/purchase_order_detail.html:183 part/bom.py:171
#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307
@@ -1761,8 +1836,8 @@ msgstr ""
#: company/models.py:124 company/models.py:336 company/models.py:488
#: order/models.py:103 part/models.py:743
#: report/templates/report/inventree_build_order_base.html:165
-#: stock/models.py:1559 templates/js/company.js:188 templates/js/company.js:318
-#: templates/js/part.js:430
+#: stock/models.py:1560 templates/js/company.js:188 templates/js/company.js:318
+#: templates/js/part.js:431
msgid "Link"
msgstr ""
@@ -1810,7 +1885,7 @@ msgstr ""
#: company/models.py:323 company/templates/company/detail.html:57
#: company/templates/company/manufacturer_part_base.html:85
#: company/templates/company/manufacturer_part_detail.html:25
-#: company/templates/company/supplier_part_base.html:93
+#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
#: part/bom.py:241 stock/templates/stock/item_base.html:341
#: templates/js/company.js:44 templates/js/company.js:165
@@ -1827,7 +1902,7 @@ msgid "Manufacturer part description"
msgstr ""
#: company/models.py:469 company/templates/company/detail.html:62
-#: company/templates/company/supplier_part_base.html:83
+#: company/templates/company/supplier_part_base.html:84
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
@@ -1841,7 +1916,7 @@ msgstr ""
msgid "Select supplier"
msgstr ""
-#: company/models.py:475 company/templates/company/supplier_part_base.html:87
+#: company/models.py:475 company/templates/company/supplier_part_base.html:88
#: company/templates/company/supplier_part_detail.html:26
#: order/templates/order/purchase_order_detail.html:174 part/bom.py:176
#: part/bom.py:287
@@ -1871,8 +1946,8 @@ msgstr ""
msgid "Supplier part description"
msgstr ""
-#: company/models.py:500 company/templates/company/supplier_part_base.html:114
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2170
+#: company/models.py:500 company/templates/company/supplier_part_base.html:115
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2190
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -1886,7 +1961,7 @@ msgstr ""
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:506 company/templates/company/supplier_part_base.html:107
+#: company/models.py:506 company/templates/company/supplier_part_base.html:108
#: stock/models.py:397 stock/templates/stock/item_base.html:299
#: templates/js/stock.js:667
msgid "Packaging"
@@ -1906,7 +1981,7 @@ msgstr ""
#: company/templates/company/assigned_stock.html:10
#: company/templates/company/navbar.html:62
-#: company/templates/company/navbar.html:65 templates/js/build.js:411
+#: company/templates/company/navbar.html:65 templates/js/build.js:467
msgid "Assigned Stock"
msgstr ""
@@ -2022,7 +2097,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1080
+#: templates/js/stock.js:1157
msgid "New Part"
msgstr ""
@@ -2069,7 +2144,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:74
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1086
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1163
msgid "New Supplier Part"
msgstr ""
@@ -2085,12 +2160,12 @@ msgstr ""
msgid "Create new Supplier"
msgstr ""
-#: company/templates/company/index.html:7
+#: company/templates/company/index.html:8
msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
-#: company/templates/company/supplier_part_base.html:35
+#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
msgid "Order part"
@@ -2111,7 +2186,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:62
#: company/templates/company/manufacturer_part_detail.html:18
-#: company/templates/company/supplier_part_base.html:60
+#: company/templates/company/supplier_part_base.html:61
#: company/templates/company/supplier_part_detail.html:18
msgid "Internal Part"
msgstr ""
@@ -2142,12 +2217,12 @@ msgstr ""
#: company/templates/company/navbar.html:41
#: company/templates/company/supplier_part_navbar.html:15
#: part/templates/part/navbar.html:36 stock/api.py:51
-#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:29
-#: stock/templates/stock/stock_app_base.html:9
-#: templates/InvenTree/index.html:127 templates/InvenTree/search.html:196
+#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:172
-#: templates/js/part.js:397 templates/js/stock.js:563 templates/navbar.html:26
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2168,7 +2243,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_suppliers.html:22
#: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44
#: part/templates/part/related.html:44 part/templates/part/supplier.html:22
-#: stock/views.py:1002 users/models.py:183
+#: stock/views.py:1002 users/models.py:184
msgid "Delete"
msgstr ""
@@ -2188,8 +2263,12 @@ msgid "Supplied Parts"
msgstr ""
#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:33
-#: stock/templates/stock/location.html:100
-#: stock/templates/stock/location.html:115 templates/InvenTree/search.html:198
+#: stock/templates/stock/location.html:107
+#: stock/templates/stock/location.html:122
+#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location_navbar.html:22
+#: stock/templates/stock/location_navbar.html:29
+#: templates/InvenTree/search.html:198 templates/js/stock.js:968
#: templates/stats.html:72 templates/stats.html:81 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -2201,7 +2280,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
-#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:227
+#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
#: users/models.py:43
@@ -2213,7 +2292,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
-#: part/templates/part/orders.html:10 templates/InvenTree/index.html:204
+#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
#: users/models.py:42
@@ -2244,21 +2323,21 @@ msgstr ""
msgid "New Sales Order"
msgstr ""
-#: company/templates/company/supplier_part_base.html:6
-#: company/templates/company/supplier_part_base.html:19 stock/models.py:382
+#: company/templates/company/supplier_part_base.html:7
+#: company/templates/company/supplier_part_base.html:20 stock/models.py:382
#: stock/templates/stock/item_base.html:358 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part_base.html:39
+#: company/templates/company/supplier_part_base.html:40
msgid "Edit supplier part"
msgstr ""
-#: company/templates/company/supplier_part_base.html:43
+#: company/templates/company/supplier_part_base.html:44
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part_base.html:55
+#: company/templates/company/supplier_part_base.html:56
#: company/templates/company/supplier_part_detail.html:10
msgid "Supplier Part Details"
msgstr ""
@@ -2397,7 +2476,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1087
+#: company/views.py:578 templates/js/stock.js:1164
msgid "Create new Supplier Part"
msgstr ""
@@ -2583,7 +2662,7 @@ msgid "Date order was completed"
msgstr ""
#: order/models.py:243 order/models.py:342 part/views.py:1586
-#: stock/models.py:270 stock/models.py:952
+#: stock/models.py:270 stock/models.py:953
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2857,15 +2936,15 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:45
#: order/templates/order/purchase_order_detail.html:125
-#: part/templates/part/category.html:197 part/templates/part/category.html:239
+#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1169
msgid "New Location"
msgstr ""
#: order/templates/order/purchase_order_detail.html:46
#: order/templates/order/purchase_order_detail.html:126
-#: stock/templates/stock/location.html:35
+#: stock/templates/stock/location.html:42
msgid "Create new stock location"
msgstr ""
@@ -2902,13 +2981,14 @@ msgstr ""
#: order/templates/order/receive_parts.html:14 part/api.py:40
#: part/models.py:322 part/templates/part/cat_link.html:7
-#: part/templates/part/category.html:95
-#: part/templates/part/category_navbar.html:11
-#: part/templates/part/category_navbar.html:14
+#: part/templates/part/category.html:99
+#: part/templates/part/category_navbar.html:22
+#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
-#: templates/InvenTree/index.html:96 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/navbar.html:23
-#: templates/stats.html:59 templates/stats.html:68 users/models.py:38
+#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
+#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/navbar.html:23 templates/stats.html:59 templates/stats.html:68
+#: users/models.py:38
msgid "Parts"
msgstr ""
@@ -2921,7 +3001,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:413
+#: part/templates/part/part_base.html:129 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -2965,26 +3045,18 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:75
-#: order/templates/order/sales_order_detail.html:157
-#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:420 stock/templates/stock/item_base.html:238
-#: templates/js/build.js:418
-msgid "Serial Number"
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342
-#: templates/js/build.js:571 templates/js/build.js:984
+#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459
-#: templates/js/build.js:789
+#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515
+#: templates/js/build.js:849
msgid "Edit stock allocation"
msgstr ""
-#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461
-#: templates/js/build.js:790
+#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517
+#: templates/js/build.js:850
msgid "Delete stock allocation"
msgstr ""
@@ -2996,8 +3068,8 @@ msgstr ""
msgid "ID"
msgstr ""
-#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:523
-#: templates/js/build.js:785
+#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579
+#: templates/js/build.js:845
msgid "Allocated"
msgstr ""
@@ -3009,7 +3081,7 @@ msgstr ""
msgid "Allocate serial numbers"
msgstr ""
-#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:585
+#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641
msgid "Allocate stock"
msgstr ""
@@ -3017,8 +3089,8 @@ msgstr ""
msgid "Purchase stock"
msgstr ""
-#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:578
-#: templates/js/build.js:992
+#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634
+#: templates/js/build.js:1052
msgid "Build stock"
msgstr ""
@@ -3228,7 +3300,7 @@ msgid "Remove allocation"
msgstr ""
#: part/bom.py:138 part/models.py:72 part/models.py:762
-#: part/templates/part/category.html:62 part/templates/part/detail.html:90
+#: part/templates/part/category.html:66 part/templates/part/detail.html:90
msgid "Default Location"
msgstr ""
@@ -3305,7 +3377,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2057
+#: part/forms.py:122 part/models.py:2077
msgid "Parent Part"
msgstr ""
@@ -3381,7 +3453,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2151
+#: part/forms.py:344 part/models.py:2171
msgid "Sub part"
msgstr ""
@@ -3401,13 +3473,13 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2103
-#: part/templates/part/part_app_base.html:9
+#: part/models.py:82 part/models.py:2123
+#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:83 part/templates/part/category.html:19
-#: part/templates/part/category.html:90 part/templates/part/category.html:141
+#: part/models.py:83 part/templates/part/category.html:23
+#: part/templates/part/category.html:94 part/templates/part/category.html:141
#: templates/InvenTree/search.html:127 templates/stats.html:63
#: users/models.py:37
msgid "Part Categories"
@@ -3462,7 +3534,7 @@ msgstr ""
msgid "Part description"
msgstr ""
-#: part/models.py:716 part/templates/part/category.html:69
+#: part/models.py:716 part/templates/part/category.html:73
#: part/templates/part/detail.html:67
msgid "Keywords"
msgstr ""
@@ -3471,8 +3543,8 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2102 part/templates/part/detail.html:73
-#: part/templates/part/set_category.html:15 templates/js/part.js:384
+#: part/models.py:724 part/models.py:2122 part/templates/part/detail.html:73
+#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3481,7 +3553,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:160
+#: part/templates/part/part_base.html:94 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3494,7 +3566,7 @@ msgid "Part revision or version number"
msgstr ""
#: part/models.py:738 part/templates/part/detail.html:35 report/models.py:198
-#: templates/js/part.js:164
+#: templates/js/part.js:165
msgid "Revision"
msgstr ""
@@ -3526,7 +3598,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2031 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2051 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3557,7 +3629,7 @@ msgstr ""
#: part/models.py:861 part/templates/part/detail.html:227
#: templates/js/table_filters.js:20 templates/js/table_filters.js:60
-#: templates/js/table_filters.js:214 templates/js/table_filters.js:283
+#: templates/js/table_filters.js:236 templates/js/table_filters.js:305
msgid "Active"
msgstr ""
@@ -3593,167 +3665,167 @@ msgstr ""
msgid "Creation User"
msgstr ""
-#: part/models.py:1929
+#: part/models.py:1949
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:1946
+#: part/models.py:1966
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:1966 templates/js/part.js:561 templates/js/stock.js:104
+#: part/models.py:1986 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:1967
+#: part/models.py:1987
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:1972
+#: part/models.py:1992
msgid "Test Description"
msgstr ""
-#: part/models.py:1973
+#: part/models.py:1993
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:1978 templates/js/part.js:570
-#: templates/js/table_filters.js:200
+#: part/models.py:1998 templates/js/part.js:647
+#: templates/js/table_filters.js:222
msgid "Required"
msgstr ""
-#: part/models.py:1979
+#: part/models.py:1999
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:1984 templates/js/part.js:578
+#: part/models.py:2004 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:1985
+#: part/models.py:2005
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:1990 templates/js/part.js:585
+#: part/models.py:2010 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:1991
+#: part/models.py:2011
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2024
+#: part/models.py:2044
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2029
+#: part/models.py:2049
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2051
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2059 part/models.py:2108 part/models.py:2109
+#: part/models.py:2079 part/models.py:2128 part/models.py:2129
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2061
+#: part/models.py:2081
msgid "Data"
msgstr ""
-#: part/models.py:2061
+#: part/models.py:2081
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2113 templates/InvenTree/settings/category.html:67
+#: part/models.py:2133 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2114
+#: part/models.py:2134
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2143
+#: part/models.py:2163
msgid "Select parent part"
msgstr ""
-#: part/models.py:2152
+#: part/models.py:2172
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2158
+#: part/models.py:2178
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2160 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2180 templates/js/bom.js:216 templates/js/bom.js:269
msgid "Optional"
msgstr ""
-#: part/models.py:2160
+#: part/models.py:2180
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2163
+#: part/models.py:2183
msgid "Overage"
msgstr ""
-#: part/models.py:2164
+#: part/models.py:2184
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2167
+#: part/models.py:2187
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2170
+#: part/models.py:2190
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2192
msgid "Checksum"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2192
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2176 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2196 templates/js/bom.js:279 templates/js/bom.js:286
#: templates/js/table_filters.js:50
msgid "Inherited"
msgstr ""
-#: part/models.py:2177
+#: part/models.py:2197
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2253 part/views.py:1592 part/views.py:1644
+#: part/models.py:2273 part/views.py:1592 part/views.py:1644
#: stock/models.py:260
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2262 part/models.py:2264
+#: part/models.py:2282 part/models.py:2284
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2267
+#: part/models.py:2287
msgid "BOM Item"
msgstr ""
-#: part/models.py:2384
+#: part/models.py:2404
msgid "Part 1"
msgstr ""
-#: part/models.py:2388
+#: part/models.py:2408
msgid "Part 2"
msgstr ""
-#: part/models.py:2388
+#: part/models.py:2408
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2420
+#: part/models.py:2440
msgid ""
"Error creating relationship: check that the part is not related to itself "
"and that the relationship is unique"
@@ -3841,7 +3913,7 @@ msgid "All selected BOM items will be deleted"
msgstr ""
#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1081
+#: templates/js/stock.js:1158
msgid "Create New Part"
msgstr ""
@@ -3957,39 +4029,42 @@ msgstr ""
msgid "Start New Build"
msgstr ""
-#: part/templates/part/category.html:20
+#: part/templates/part/category.html:24
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:25 part/views.py:2270
+#: part/templates/part/category.html:29 part/views.py:2270
msgid "Create new part category"
msgstr ""
-#: part/templates/part/category.html:31
+#: part/templates/part/category.html:35
msgid "Edit part category"
msgstr ""
-#: part/templates/part/category.html:36
+#: part/templates/part/category.html:40
msgid "Delete part category"
msgstr ""
-#: part/templates/part/category.html:46 part/templates/part/category.html:85
+#: part/templates/part/category.html:50 part/templates/part/category.html:89
msgid "Category Details"
msgstr ""
-#: part/templates/part/category.html:51
+#: part/templates/part/category.html:55
msgid "Category Path"
msgstr ""
-#: part/templates/part/category.html:56
+#: part/templates/part/category.html:60
msgid "Category Description"
msgstr ""
-#: part/templates/part/category.html:75
+#: part/templates/part/category.html:79
+#: part/templates/part/category_navbar.html:11
+#: part/templates/part/category_navbar.html:18
+#: part/templates/part/subcategory.html:16
msgid "Subcategories"
msgstr ""
-#: part/templates/part/category.html:80
+#: part/templates/part/category.html:84
msgid "Parts (Including subcategories)"
msgstr ""
@@ -4009,24 +4084,24 @@ msgstr ""
msgid "Export Data"
msgstr ""
-#: part/templates/part/category.html:198
+#: part/templates/part/category.html:186
#: stock/templates/stock/location.html:192 templates/js/stock.js:709
msgid "Create new location"
msgstr ""
-#: part/templates/part/category.html:203 part/templates/part/category.html:233
+#: part/templates/part/category.html:191 part/templates/part/category.html:221
msgid "New Category"
msgstr ""
-#: part/templates/part/category.html:204
+#: part/templates/part/category.html:192
msgid "Create new category"
msgstr ""
-#: part/templates/part/category.html:234
+#: part/templates/part/category.html:222
msgid "Create new Part Category"
msgstr ""
-#: part/templates/part/category.html:240 stock/views.py:1359
+#: part/templates/part/category.html:228 stock/views.py:1359
msgid "Create new Stock Location"
msgstr ""
@@ -4070,8 +4145,8 @@ msgid ""
"category Teile"
msgstr ""
-#: part/templates/part/category_navbar.html:18
-#: part/templates/part/category_navbar.html:21
+#: part/templates/part/category_navbar.html:34
+#: part/templates/part/category_navbar.html:37
#: part/templates/part/navbar.html:22
msgid "Parameters"
msgstr ""
@@ -4255,7 +4330,7 @@ msgstr ""
#: part/templates/part/params.html:28
#: report/templates/report/inventree_test_report_base.html:90
-#: stock/models.py:1654 templates/InvenTree/settings/header.html:8
+#: stock/models.py:1655 templates/InvenTree/settings/header.html:8
#: templates/js/stock.js:124
msgid "Value"
msgstr ""
@@ -4272,7 +4347,7 @@ msgstr ""
msgid "Create New Parameter Template"
msgstr ""
-#: part/templates/part/part_app_base.html:11
+#: part/templates/part/part_app_base.html:12
msgid "Part List"
msgstr ""
@@ -4282,7 +4357,7 @@ msgid "This part is a variant of %(link)s"
msgstr ""
#: part/templates/part/part_base.html:33 templates/js/company.js:156
-#: templates/js/company.js:254 templates/js/part.js:75 templates/js/part.js:152
+#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
@@ -4292,19 +4367,19 @@ msgstr ""
#: part/templates/part/part_base.html:47
#: stock/templates/stock/item_base.html:131
-#: stock/templates/stock/location.html:44
+#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
#: part/templates/part/part_base.html:49
#: stock/templates/stock/item_base.html:133
-#: stock/templates/stock/location.html:46 templates/qr_button.html:1
+#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
#: part/templates/part/part_base.html:50
#: stock/templates/stock/item_base.html:149
-#: stock/templates/stock/location.html:47
+#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
@@ -4332,11 +4407,11 @@ msgstr ""
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:134
+#: part/templates/part/part_base.html:123 templates/js/table_filters.js:156
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:130
+#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
@@ -4352,7 +4427,7 @@ msgstr ""
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:417
+#: part/templates/part/part_base.html:171 templates/js/part.js:418
msgid "Building"
msgstr ""
@@ -4477,18 +4552,14 @@ msgid "Showing stock for all variants of %(full_name)s"
msgstr ""
#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
-#: templates/js/part.js:421
+#: templates/js/part.js:422
msgid "No Stock"
msgstr ""
-#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:129
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:130
msgid "Low Stock"
msgstr ""
-#: part/templates/part/subcategories.html:5
-msgid "Child Categories"
-msgstr ""
-
#: part/templates/part/supplier.html:10
msgid "Part Suppliers"
msgstr ""
@@ -4825,17 +4896,17 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:1642
+#: stock/models.py:1643
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:89
-#: stock/models.py:1648
+#: stock/models.py:1649
msgid "Result"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:92
-#: templates/js/order.js:195 templates/js/stock.js:909
+#: templates/js/order.js:195 templates/js/stock.js:986
msgid "Date"
msgstr ""
@@ -4892,7 +4963,8 @@ msgstr ""
msgid "Select test report template"
msgstr ""
-#: stock/forms.py:267 templates/js/table_filters.js:111
+#: stock/forms.py:267 templates/js/table_filters.js:70
+#: templates/js/table_filters.js:133
msgid "Include sublocations"
msgstr ""
@@ -5001,7 +5073,7 @@ msgstr ""
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:388 stock/templates/stock/stock_app_base.html:7
+#: stock/models.py:388 stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
@@ -5091,101 +5163,101 @@ msgstr ""
msgid "Returned to location"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:792
msgid "Installed into stock item"
msgstr ""
-#: stock/models.py:799
+#: stock/models.py:800
msgid "Installed stock item"
msgstr ""
-#: stock/models.py:823
+#: stock/models.py:824
msgid "Uninstalled stock item"
msgstr ""
-#: stock/models.py:842
+#: stock/models.py:843
msgid "Uninstalled into location"
msgstr ""
-#: stock/models.py:943
+#: stock/models.py:944
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:949
+#: stock/models.py:950
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:955
+#: stock/models.py:956
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:958
+#: stock/models.py:959
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:961
+#: stock/models.py:962
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:993
+#: stock/models.py:994
msgid "Add serial number"
msgstr ""
-#: stock/models.py:996
+#: stock/models.py:997
#, python-brace-format
msgid "Serialized {n} items"
msgstr ""
-#: stock/models.py:1074
+#: stock/models.py:1075
msgid "Split from existing stock"
msgstr ""
-#: stock/models.py:1112
+#: stock/models.py:1113
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:1555
+#: stock/models.py:1556
msgid "Title"
msgstr ""
-#: stock/models.py:1555
+#: stock/models.py:1556
msgid "Tracking entry title"
msgstr ""
-#: stock/models.py:1557
+#: stock/models.py:1558
msgid "Entry notes"
msgstr ""
-#: stock/models.py:1559
+#: stock/models.py:1560
msgid "Link to external page for further information"
msgstr ""
-#: stock/models.py:1619
+#: stock/models.py:1620
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:1625
+#: stock/models.py:1626
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:1643
+#: stock/models.py:1644
msgid "Test name"
msgstr ""
-#: stock/models.py:1649 templates/js/table_filters.js:190
+#: stock/models.py:1650 templates/js/table_filters.js:212
msgid "Test result"
msgstr ""
-#: stock/models.py:1655
+#: stock/models.py:1656
msgid "Test output value"
msgstr ""
-#: stock/models.py:1662
+#: stock/models.py:1663
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:1668
+#: stock/models.py:1669
msgid "Test notes"
msgstr ""
@@ -5246,12 +5318,12 @@ msgid ""
msgstr ""
#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:123
+#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:145
msgid "Expired"
msgstr ""
#: stock/templates/stock/item_base.html:99
-#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:128
+#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:150
msgid "Stale"
msgstr ""
@@ -5282,15 +5354,15 @@ msgid "Stock adjustment actions"
msgstr ""
#: stock/templates/stock/item_base.html:164
-#: stock/templates/stock/location.html:58 templates/stock_table.html:55
+#: stock/templates/stock/location.html:65 templates/stock_table.html:56
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:167 templates/stock_table.html:53
+#: stock/templates/stock/item_base.html:167 templates/stock_table.html:54
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:170 templates/stock_table.html:54
+#: stock/templates/stock/item_base.html:170 templates/stock_table.html:55
msgid "Remove stock"
msgstr ""
@@ -5310,7 +5382,7 @@ msgstr ""
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1222
+#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1299
msgid "Uninstall stock item"
msgstr ""
@@ -5319,7 +5391,7 @@ msgid "Uninstall"
msgstr ""
#: stock/templates/stock/item_base.html:196
-#: stock/templates/stock/location.html:55
+#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
@@ -5343,7 +5415,7 @@ msgstr ""
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:278 templates/js/build.js:442
+#: stock/templates/stock/item_base.html:278 templates/js/build.js:498
msgid "No location set"
msgstr ""
@@ -5437,53 +5509,56 @@ msgstr ""
msgid "Add Test Data"
msgstr ""
-#: stock/templates/stock/location.html:13
+#: stock/templates/stock/location.html:20
msgid ""
"You are not in the list of owners of this location. This stock location "
"cannot be edited."
msgstr ""
-#: stock/templates/stock/location.html:30
+#: stock/templates/stock/location.html:37
msgid "All stock items"
msgstr ""
-#: stock/templates/stock/location.html:48
+#: stock/templates/stock/location.html:55
msgid "Check-in Items"
msgstr ""
-#: stock/templates/stock/location.html:64
+#: stock/templates/stock/location.html:71
msgid "Location actions"
msgstr ""
-#: stock/templates/stock/location.html:66
+#: stock/templates/stock/location.html:73
msgid "Edit location"
msgstr ""
-#: stock/templates/stock/location.html:68
+#: stock/templates/stock/location.html:75
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:80
+#: stock/templates/stock/location.html:87
msgid "Location Details"
msgstr ""
-#: stock/templates/stock/location.html:85
+#: stock/templates/stock/location.html:92
msgid "Location Path"
msgstr ""
-#: stock/templates/stock/location.html:90
+#: stock/templates/stock/location.html:97
msgid "Location Description"
msgstr ""
-#: stock/templates/stock/location.html:95
+#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location_navbar.html:11
+#: stock/templates/stock/location_navbar.html:18
+#: stock/templates/stock/sublocation.html:16
msgid "Sublocations"
msgstr ""
-#: stock/templates/stock/location.html:105
+#: stock/templates/stock/location.html:112
msgid "Stock Details"
msgstr ""
-#: stock/templates/stock/location.html:110 templates/InvenTree/search.html:279
+#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
#: templates/stats.html:76 users/models.py:39
msgid "Stock Locations"
msgstr ""
@@ -5492,18 +5567,6 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: stock/templates/stock/location_list.html:6
-msgid "Sub-Locations"
-msgstr ""
-
-#. Translators: pluralize with counter
-#: stock/templates/stock/location_list.html:17
-#, python-format
-msgid "%(counter)s Item"
-msgid_plural "%(counter)s Items"
-msgstr[0] ""
-msgstr[1] ""
-
#: stock/templates/stock/navbar.html:11
msgid "Stock Item Tracking"
msgstr ""
@@ -5528,7 +5591,7 @@ msgstr ""
msgid "Remove item"
msgstr ""
-#: stock/templates/stock/stock_app_base.html:15
+#: stock/templates/stock/stock_app_base.html:16
msgid "Loading..."
msgstr ""
@@ -5553,6 +5616,14 @@ msgstr ""
msgid "This action cannot be easily undone"
msgstr ""
+#: stock/templates/stock/sublocation.html:23 templates/stock_table.html:37
+msgid "Printing Actions"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:27 templates/stock_table.html:41
+msgid "Print labels"
+msgstr ""
+
#: stock/templates/stock/tracking_delete.html:6
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
@@ -5674,7 +5745,7 @@ msgstr ""
msgid "Add Stock Items"
msgstr ""
-#: stock/views.py:1001 users/models.py:179
+#: stock/views.py:1001 users/models.py:180
msgid "Add"
msgstr ""
@@ -5736,7 +5807,7 @@ msgstr ""
msgid "Serialize Stock"
msgstr ""
-#: stock/views.py:1543 templates/js/build.js:210
+#: stock/views.py:1543 templates/js/build.js:244
msgid "Create new Stock Item"
msgstr ""
@@ -5784,55 +5855,55 @@ msgstr ""
msgid "The requested page does not exist"
msgstr ""
-#: templates/InvenTree/index.html:6
+#: templates/InvenTree/index.html:7
msgid "Index"
msgstr ""
-#: templates/InvenTree/index.html:97
+#: templates/InvenTree/index.html:98
msgid "Starred Parts"
msgstr ""
-#: templates/InvenTree/index.html:98
+#: templates/InvenTree/index.html:99
msgid "Latest Parts"
msgstr ""
-#: templates/InvenTree/index.html:99
+#: templates/InvenTree/index.html:100
msgid "BOM Waiting Validation"
msgstr ""
-#: templates/InvenTree/index.html:128
+#: templates/InvenTree/index.html:129
msgid "Recently Updated"
msgstr ""
-#: templates/InvenTree/index.html:144
+#: templates/InvenTree/index.html:145
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:145
+#: templates/InvenTree/index.html:146
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:183
+#: templates/InvenTree/index.html:184
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:184
+#: templates/InvenTree/index.html:185
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:205
+#: templates/InvenTree/index.html:206
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:206
+#: templates/InvenTree/index.html:207
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:228
+#: templates/InvenTree/index.html:229
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:229
+#: templates/InvenTree/index.html:230
msgid "Overdue Sales Orders"
msgstr ""
@@ -5882,7 +5953,7 @@ msgstr ""
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:26
+#: templates/InvenTree/settings/global.html:27
msgid "Barcode Settings"
msgstr ""
@@ -5922,8 +5993,8 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:7
-#: templates/InvenTree/settings/settings.html:13 templates/navbar.html:84
+#: templates/InvenTree/settings/settings.html:8
+#: templates/InvenTree/settings/settings.html:14 templates/navbar.html:84
msgid "Settings"
msgstr ""
@@ -5935,7 +6006,7 @@ msgstr ""
msgid "Stock Settings"
msgstr ""
-#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:48
+#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:49
msgid "Stock Options"
msgstr ""
@@ -5995,7 +6066,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:28
-#: templates/registration/login.html:58
+#: templates/registration/login.html:59
msgid "Username"
msgstr ""
@@ -6180,7 +6251,7 @@ msgstr ""
msgid "Barcode does not match a valid location"
msgstr ""
-#: templates/js/bom.js:175 templates/js/build.js:934
+#: templates/js/bom.js:175 templates/js/build.js:994
msgid "Open subassembly"
msgstr ""
@@ -6218,57 +6289,58 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:305 templates/js/build.js:1032
+#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
-#: templates/js/build.js:56
+#: templates/js/build.js:62
msgid "Auto-allocate stock items to this output"
msgstr ""
-#: templates/js/build.js:62
-msgid "Complete build output"
-msgstr ""
-
-#: templates/js/build.js:71
+#: templates/js/build.js:70
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/build.js:77
+#: templates/js/build.js:80
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/build.js:89
msgid "Delete build output"
msgstr ""
-#: templates/js/build.js:209 templates/stock_table.html:20
+#: templates/js/build.js:243 templates/stock_table.html:20
msgid "New Stock Item"
msgstr ""
-#: templates/js/build.js:493
+#: templates/js/build.js:549
msgid "Required Part"
msgstr ""
-#: templates/js/build.js:514
+#: templates/js/build.js:570
msgid "Quantity Per"
msgstr ""
-#: templates/js/build.js:582 templates/js/build.js:996
-#: templates/stock_table.html:57
+#: templates/js/build.js:638 templates/js/build.js:1056
+#: templates/stock_table.html:58
msgid "Order stock"
msgstr ""
-#: templates/js/build.js:632
+#: templates/js/build.js:691
msgid "No builds matching query"
msgstr ""
-#: templates/js/build.js:649 templates/js/part.js:323 templates/js/stock.js:511
-#: templates/js/stock.js:1254
+#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
+#: templates/js/stock.js:511 templates/js/stock.js:938
+#: templates/js/stock.js:1331
msgid "Select"
msgstr ""
-#: templates/js/build.js:669
+#: templates/js/build.js:728
msgid "Build order is overdue"
msgstr ""
-#: templates/js/build.js:767
+#: templates/js/build.js:827
msgid "No parts allocated for"
msgstr ""
@@ -6289,12 +6361,12 @@ msgid "No manufacturer parts found"
msgstr ""
#: templates/js/company.js:148 templates/js/company.js:246
-#: templates/js/part.js:59 templates/js/part.js:144
+#: templates/js/part.js:60 templates/js/part.js:145
msgid "Template part"
msgstr ""
#: templates/js/company.js:152 templates/js/company.js:250
-#: templates/js/part.js:63 templates/js/part.js:148
+#: templates/js/part.js:64 templates/js/part.js:149
msgid "Assembled part"
msgstr ""
@@ -6468,59 +6540,63 @@ msgstr ""
msgid "No sales orders found"
msgstr ""
-#: templates/js/part.js:51 templates/js/part.js:136
+#: templates/js/part.js:52 templates/js/part.js:137
msgid "Trackable part"
msgstr ""
-#: templates/js/part.js:55 templates/js/part.js:140
+#: templates/js/part.js:56 templates/js/part.js:141
msgid "Virtual part"
msgstr ""
-#: templates/js/part.js:67
+#: templates/js/part.js:68
msgid "Starred part"
msgstr ""
-#: templates/js/part.js:71
+#: templates/js/part.js:72
msgid "Salable part"
msgstr ""
-#: templates/js/part.js:185
+#: templates/js/part.js:186
msgid "No variants found"
msgstr ""
-#: templates/js/part.js:271 templates/js/part.js:451
+#: templates/js/part.js:272 templates/js/part.js:452
msgid "No parts found"
msgstr ""
-#: templates/js/part.js:390
+#: templates/js/part.js:391
msgid "No category"
msgstr ""
-#: templates/js/part.js:408 templates/js/table_filters.js:296
+#: templates/js/part.js:409 templates/js/table_filters.js:318
msgid "Low stock"
msgstr ""
-#: templates/js/part.js:511
+#: templates/js/part.js:571 templates/js/stock.js:962
+msgid "Path"
+msgstr ""
+
+#: templates/js/part.js:588
msgid "YES"
msgstr ""
-#: templates/js/part.js:513
+#: templates/js/part.js:590
msgid "NO"
msgstr ""
-#: templates/js/part.js:547
+#: templates/js/part.js:624
msgid "No test templates matching query"
msgstr ""
-#: templates/js/part.js:598 templates/js/stock.js:75
+#: templates/js/part.js:675 templates/js/stock.js:75
msgid "Edit test result"
msgstr ""
-#: templates/js/part.js:599 templates/js/stock.js:76
+#: templates/js/part.js:676 templates/js/stock.js:76
msgid "Delete test result"
msgstr ""
-#: templates/js/part.js:605
+#: templates/js/part.js:682
msgid "This test is defined for a parent part"
msgstr ""
@@ -6690,7 +6766,7 @@ msgstr ""
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/stock.js:620 templates/js/table_filters.js:116
+#: templates/js/stock.js:620 templates/js/table_filters.js:138
msgid "Depleted"
msgstr ""
@@ -6714,31 +6790,31 @@ msgstr ""
msgid "Status code must be selected"
msgstr ""
-#: templates/js/stock.js:973
+#: templates/js/stock.js:1050
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:983
+#: templates/js/stock.js:1060
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:984
+#: templates/js/stock.js:1061
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1093
+#: templates/js/stock.js:1170
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1192
+#: templates/js/stock.js:1269
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1285 templates/js/table_filters.js:149
+#: templates/js/stock.js:1362 templates/js/table_filters.js:171
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1310
+#: templates/js/stock.js:1387
msgid "Install item"
msgstr ""
@@ -6750,148 +6826,153 @@ msgstr ""
msgid "Validated"
msgstr ""
-#: templates/js/table_filters.js:70 templates/js/table_filters.js:159
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/table_filters.js:73 templates/js/table_filters.js:166
-msgid "Serial number GTE"
-msgstr ""
-
-#: templates/js/table_filters.js:74 templates/js/table_filters.js:167
-msgid "Serial number greater than or equal to"
-msgstr ""
-
-#: templates/js/table_filters.js:77 templates/js/table_filters.js:170
-msgid "Serial number LTE"
-msgstr ""
-
-#: templates/js/table_filters.js:78 templates/js/table_filters.js:171
-msgid "Serial number less than or equal to"
+#: templates/js/table_filters.js:71
+msgid "Include locations"
msgstr ""
#: templates/js/table_filters.js:81 templates/js/table_filters.js:82
-#: templates/js/table_filters.js:162 templates/js/table_filters.js:163
-msgid "Serial number"
-msgstr ""
-
-#: templates/js/table_filters.js:86 templates/js/table_filters.js:180
-msgid "Batch code"
-msgstr ""
-
-#: templates/js/table_filters.js:96 templates/js/table_filters.js:263
-msgid "Active parts"
-msgstr ""
-
-#: templates/js/table_filters.js:97
-msgid "Show stock for active parts"
-msgstr ""
-
-#: templates/js/table_filters.js:102
-msgid "Part is an assembly"
-msgstr ""
-
-#: templates/js/table_filters.js:106
-msgid "Is allocated"
-msgstr ""
-
-#: templates/js/table_filters.js:107
-msgid "Item has been allocated"
-msgstr ""
-
-#: templates/js/table_filters.js:112
-msgid "Include stock in sublocations"
-msgstr ""
-
-#: templates/js/table_filters.js:117
-msgid "Show stock items which are depleted"
-msgstr ""
-
-#: templates/js/table_filters.js:124
-msgid "Show stock items which have expired"
-msgstr ""
-
-#: templates/js/table_filters.js:129
-msgid "Show stock which is close to expiring"
-msgstr ""
-
-#: templates/js/table_filters.js:135
-msgid "Show items which are in stock"
-msgstr ""
-
-#: templates/js/table_filters.js:139
-msgid "In Production"
-msgstr ""
-
-#: templates/js/table_filters.js:140
-msgid "Show items which are in production"
-msgstr ""
-
-#: templates/js/table_filters.js:144
-msgid "Include Variants"
-msgstr ""
-
-#: templates/js/table_filters.js:145
-msgid "Include stock items for variant parts"
-msgstr ""
-
-#: templates/js/table_filters.js:150
-msgid "Show stock items which are installed in another item"
-msgstr ""
-
-#: templates/js/table_filters.js:154
-msgid "Sent to customer"
-msgstr ""
-
-#: templates/js/table_filters.js:155
-msgid "Show items which have been assigned to a customer"
-msgstr ""
-
-#: templates/js/table_filters.js:175 templates/js/table_filters.js:176
-msgid "Stock status"
-msgstr ""
-
-#: templates/js/table_filters.js:209
-msgid "Build status"
-msgstr ""
-
-#: templates/js/table_filters.js:228 templates/js/table_filters.js:245
-msgid "Order status"
-msgstr ""
-
-#: templates/js/table_filters.js:233 templates/js/table_filters.js:250
-msgid "Outstanding"
-msgstr ""
-
-#: templates/js/table_filters.js:273
+#: templates/js/table_filters.js:295
msgid "Include subcategories"
msgstr ""
-#: templates/js/table_filters.js:274
+#: templates/js/table_filters.js:92 templates/js/table_filters.js:181
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/table_filters.js:95 templates/js/table_filters.js:188
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/table_filters.js:96 templates/js/table_filters.js:189
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:99 templates/js/table_filters.js:192
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/table_filters.js:100 templates/js/table_filters.js:193
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:103 templates/js/table_filters.js:104
+#: templates/js/table_filters.js:184 templates/js/table_filters.js:185
+msgid "Serial number"
+msgstr ""
+
+#: templates/js/table_filters.js:108 templates/js/table_filters.js:202
+msgid "Batch code"
+msgstr ""
+
+#: templates/js/table_filters.js:118 templates/js/table_filters.js:285
+msgid "Active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:119
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:124
+msgid "Part is an assembly"
+msgstr ""
+
+#: templates/js/table_filters.js:128
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:129
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:134
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/table_filters.js:139
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/table_filters.js:146
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/table_filters.js:151
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/table_filters.js:157
+msgid "Show items which are in stock"
+msgstr ""
+
+#: templates/js/table_filters.js:161
+msgid "In Production"
+msgstr ""
+
+#: templates/js/table_filters.js:162
+msgid "Show items which are in production"
+msgstr ""
+
+#: templates/js/table_filters.js:166
+msgid "Include Variants"
+msgstr ""
+
+#: templates/js/table_filters.js:167
+msgid "Include stock items for variant parts"
+msgstr ""
+
+#: templates/js/table_filters.js:172
+msgid "Show stock items which are installed in another item"
+msgstr ""
+
+#: templates/js/table_filters.js:176
+msgid "Sent to customer"
+msgstr ""
+
+#: templates/js/table_filters.js:177
+msgid "Show items which have been assigned to a customer"
+msgstr ""
+
+#: templates/js/table_filters.js:197 templates/js/table_filters.js:198
+msgid "Stock status"
+msgstr ""
+
+#: templates/js/table_filters.js:231
+msgid "Build status"
+msgstr ""
+
+#: templates/js/table_filters.js:250 templates/js/table_filters.js:267
+msgid "Order status"
+msgstr ""
+
+#: templates/js/table_filters.js:255 templates/js/table_filters.js:272
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/table_filters.js:296
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/table_filters.js:278
+#: templates/js/table_filters.js:300
msgid "Has IPN"
msgstr ""
-#: templates/js/table_filters.js:279
+#: templates/js/table_filters.js:301
msgid "Part has internal part number"
msgstr ""
-#: templates/js/table_filters.js:284
+#: templates/js/table_filters.js:306
msgid "Show active parts"
msgstr ""
-#: templates/js/table_filters.js:292
+#: templates/js/table_filters.js:314
msgid "Stock available"
msgstr ""
-#: templates/js/table_filters.js:308
+#: templates/js/table_filters.js:330
msgid "Starred"
msgstr ""
-#: templates/js/table_filters.js:320
+#: templates/js/table_filters.js:342
msgid "Purchasable"
msgstr ""
@@ -6972,7 +7053,7 @@ msgstr ""
msgid "Logout"
msgstr ""
-#: templates/navbar.html:81 templates/registration/login.html:89
+#: templates/navbar.html:81 templates/registration/login.html:90
msgid "Login"
msgstr ""
@@ -6984,73 +7065,73 @@ msgstr ""
msgid "QR data not provided"
msgstr ""
-#: templates/registration/logged_out.html:50
+#: templates/registration/logged_out.html:51
msgid "You have been logged out"
msgstr ""
-#: templates/registration/logged_out.html:51
-#: templates/registration/password_reset_complete.html:51
-#: templates/registration/password_reset_done.html:58
+#: templates/registration/logged_out.html:52
+#: templates/registration/password_reset_complete.html:52
+#: templates/registration/password_reset_done.html:59
msgid "Return to login screen"
msgstr ""
-#: templates/registration/login.html:64
+#: templates/registration/login.html:65
msgid "Enter username"
msgstr ""
-#: templates/registration/login.html:70
+#: templates/registration/login.html:71
msgid "Password"
msgstr ""
-#: templates/registration/login.html:83
+#: templates/registration/login.html:84
msgid "Username / password combination is incorrect"
msgstr ""
-#: templates/registration/login.html:95
-#: templates/registration/password_reset_form.html:51
+#: templates/registration/login.html:96
+#: templates/registration/password_reset_form.html:52
msgid "Forgotten your password?"
msgstr ""
-#: templates/registration/login.html:95
+#: templates/registration/login.html:96
msgid "Click here to reset"
msgstr ""
-#: templates/registration/password_reset_complete.html:50
+#: templates/registration/password_reset_complete.html:51
msgid "Password reset complete"
msgstr ""
-#: templates/registration/password_reset_confirm.html:52
-#: templates/registration/password_reset_confirm.html:56
+#: templates/registration/password_reset_confirm.html:53
+#: templates/registration/password_reset_confirm.html:57
msgid "Change password"
msgstr ""
-#: templates/registration/password_reset_confirm.html:60
+#: templates/registration/password_reset_confirm.html:61
msgid ""
"The password reset link was invalid, possibly because it has already been "
"used. Please request a new password reset."
msgstr ""
-#: templates/registration/password_reset_done.html:51
+#: templates/registration/password_reset_done.html:52
msgid ""
"We've emailed you instructions for setting your password, if an account "
"exists with the email you entered. You should receive them shortly."
msgstr ""
-#: templates/registration/password_reset_done.html:54
+#: templates/registration/password_reset_done.html:55
msgid ""
"If you don't receive an email, please make sure you've entered the address "
"you registered with, and check your spam folder."
msgstr ""
-#: templates/registration/password_reset_form.html:52
+#: templates/registration/password_reset_form.html:53
msgid "Enter your email address below."
msgstr ""
-#: templates/registration/password_reset_form.html:53
+#: templates/registration/password_reset_form.html:54
msgid "An email will be sent with password reset instructions."
msgstr ""
-#: templates/registration/password_reset_form.html:58
+#: templates/registration/password_reset_form.html:59
msgid "Send email"
msgstr ""
@@ -7098,55 +7179,47 @@ msgstr ""
msgid "Barcode Actions"
msgstr ""
-#: templates/stock_table.html:36
-msgid "Printing Actions"
-msgstr ""
-
-#: templates/stock_table.html:40
-msgid "Print labels"
-msgstr ""
-
-#: templates/stock_table.html:42
+#: templates/stock_table.html:43
msgid "Print test reports"
msgstr ""
-#: templates/stock_table.html:53
+#: templates/stock_table.html:54
msgid "Add to selected stock items"
msgstr ""
-#: templates/stock_table.html:54
+#: templates/stock_table.html:55
msgid "Remove from selected stock items"
msgstr ""
-#: templates/stock_table.html:55
+#: templates/stock_table.html:56
msgid "Stocktake selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:57
msgid "Move selected stock items"
msgstr ""
-#: templates/stock_table.html:56
+#: templates/stock_table.html:57
msgid "Move stock"
msgstr ""
-#: templates/stock_table.html:57
+#: templates/stock_table.html:58
msgid "Order selected items"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:59
msgid "Change status"
msgstr ""
-#: templates/stock_table.html:58
+#: templates/stock_table.html:59
msgid "Change stock status"
msgstr ""
-#: templates/stock_table.html:61
+#: templates/stock_table.html:62
msgid "Delete selected items"
msgstr ""
-#: templates/stock_table.html:61
+#: templates/stock_table.html:62
msgid "Delete Stock"
msgstr ""
@@ -7182,34 +7255,34 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:166
+#: users/models.py:167
msgid "Permission set"
msgstr ""
-#: users/models.py:174
+#: users/models.py:175
msgid "Group"
msgstr ""
-#: users/models.py:177
+#: users/models.py:178
msgid "View"
msgstr ""
-#: users/models.py:177
+#: users/models.py:178
msgid "Permission to view items"
msgstr ""
-#: users/models.py:179
+#: users/models.py:180
msgid "Permission to add items"
msgstr ""
-#: users/models.py:181
+#: users/models.py:182
msgid "Change"
msgstr ""
-#: users/models.py:181
+#: users/models.py:182
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:183
+#: users/models.py:184
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.mo b/InvenTree/locale/fr/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..2c90dd0c81
Binary files /dev/null and b/InvenTree/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
new file mode 100644
index 0000000000..89923de02b
--- /dev/null
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -0,0 +1,7288 @@
+# 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 , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-04-21 17:15+1000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: InvenTree/api.py:64
+msgid "API endpoint not found"
+msgstr ""
+
+#: InvenTree/api.py:110
+msgid "No action specified"
+msgstr ""
+
+#: InvenTree/api.py:124
+msgid "No matching action found"
+msgstr ""
+
+#: InvenTree/fields.py:44
+msgid "Enter date"
+msgstr ""
+
+#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122
+#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226
+#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
+#: order/forms.py:71 part/forms.py:134
+msgid "Confirm"
+msgstr ""
+
+#: InvenTree/forms.py:126
+msgid "Confirm delete"
+msgstr ""
+
+#: InvenTree/forms.py:127
+msgid "Confirm item deletion"
+msgstr ""
+
+#: InvenTree/forms.py:159 templates/registration/login.html:77
+msgid "Enter password"
+msgstr ""
+
+#: InvenTree/forms.py:160
+msgid "Enter new password"
+msgstr ""
+
+#: InvenTree/forms.py:167
+msgid "Confirm password"
+msgstr ""
+
+#: InvenTree/forms.py:168
+msgid "Confirm new password"
+msgstr ""
+
+#: InvenTree/forms.py:203
+msgid "Apply Theme"
+msgstr ""
+
+#: InvenTree/forms.py:233
+msgid "Select Category"
+msgstr ""
+
+#: InvenTree/helpers.py:375 order/models.py:245 order/models.py:344
+#: stock/views.py:1763
+msgid "Invalid quantity provided"
+msgstr ""
+
+#: InvenTree/helpers.py:378
+msgid "Empty serial number string"
+msgstr ""
+
+#: InvenTree/helpers.py:399
+#, python-brace-format
+msgid "Duplicate serial: {n}"
+msgstr ""
+
+#: InvenTree/helpers.py:403 InvenTree/helpers.py:406 InvenTree/helpers.py:409
+#, python-brace-format
+msgid "Invalid group: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:414
+#, python-brace-format
+msgid "Duplicate serial: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:422
+msgid "No serial numbers found"
+msgstr ""
+
+#: InvenTree/helpers.py:426
+#, python-brace-format
+msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgstr ""
+
+#: InvenTree/models.py:59 stock/models.py:1662
+msgid "Attachment"
+msgstr ""
+
+#: InvenTree/models.py:60
+msgid "Select file to attach"
+msgstr ""
+
+#: InvenTree/models.py:62 templates/attachment_table.html:16
+msgid "Comment"
+msgstr ""
+
+#: InvenTree/models.py:62
+msgid "File comment"
+msgstr ""
+
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1908
+#: report/templates/report/inventree_test_report_base.html:91
+#: templates/js/stock.js:1041
+msgid "User"
+msgstr ""
+
+#: InvenTree/models.py:72
+msgid "upload date"
+msgstr ""
+
+#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:101
+#: part/models.py:686 part/models.py:2049 part/templates/part/params.html:27
+#: report/models.py:179 templates/InvenTree/search.html:137
+#: templates/InvenTree/search.html:289 templates/js/part.js:110
+#: templates/js/part.js:553 templates/js/stock.js:944
+msgid "Name"
+msgstr ""
+
+#: InvenTree/models.py:114 build/models.py:134
+#: build/templates/build/detail.html:21 company/models.py:342
+#: company/models.py:494 company/templates/company/detail.html:27
+#: company/templates/company/manufacturer_part_base.html:72
+#: company/templates/company/supplier_part_base.html:71
+#: company/templates/company/supplier_part_detail.html:31 label/models.py:108
+#: order/models.py:101 order/templates/order/purchase_order_detail.html:168
+#: part/models.py:710 part/templates/part/detail.html:54
+#: part/templates/part/set_category.html:14 report/models.py:192
+#: report/models.py:505 report/models.py:544
+#: report/templates/report/inventree_build_order_base.html:118
+#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
+#: templates/InvenTree/search.html:296
+#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
+#: templates/js/build.js:736 templates/js/build.js:1004
+#: templates/js/company.js:56 templates/js/order.js:183
+#: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252
+#: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643
+#: templates/js/stock.js:554 templates/js/stock.js:956
+#: templates/js/stock.js:1015
+msgid "Description"
+msgstr ""
+
+#: InvenTree/models.py:115
+msgid "Description (optional)"
+msgstr ""
+
+#: InvenTree/models.py:123
+msgid "parent"
+msgstr ""
+
+#: InvenTree/settings.py:493
+msgid "English"
+msgstr ""
+
+#: InvenTree/settings.py:494
+msgid "French"
+msgstr ""
+
+#: InvenTree/settings.py:495
+msgid "German"
+msgstr ""
+
+#: InvenTree/settings.py:496
+msgid "Polish"
+msgstr ""
+
+#: InvenTree/settings.py:497
+msgid "Turkish"
+msgstr ""
+
+#: InvenTree/status.py:93
+msgid "Background worker check failed"
+msgstr ""
+
+#: InvenTree/status.py:97
+msgid "Email backend not configured"
+msgstr ""
+
+#: InvenTree/status.py:100
+msgid "InvenTree system health checks failed"
+msgstr ""
+
+#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143
+#: InvenTree/status_codes.py:236
+msgid "Pending"
+msgstr ""
+
+#: InvenTree/status_codes.py:103
+msgid "Placed"
+msgstr ""
+
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239
+msgid "Complete"
+msgstr ""
+
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:238
+msgid "Cancelled"
+msgstr ""
+
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:188
+msgid "Lost"
+msgstr ""
+
+#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
+#: InvenTree/status_codes.py:190
+msgid "Returned"
+msgstr ""
+
+#: InvenTree/status_codes.py:144
+#: order/templates/order/sales_order_base.html:124
+msgid "Shipped"
+msgstr ""
+
+#: InvenTree/status_codes.py:184
+msgid "OK"
+msgstr ""
+
+#: InvenTree/status_codes.py:185
+msgid "Attention needed"
+msgstr ""
+
+#: InvenTree/status_codes.py:186
+msgid "Damaged"
+msgstr ""
+
+#: InvenTree/status_codes.py:187
+msgid "Destroyed"
+msgstr ""
+
+#: InvenTree/status_codes.py:189
+msgid "Rejected"
+msgstr ""
+
+#: InvenTree/status_codes.py:237
+msgid "Production"
+msgstr ""
+
+#: InvenTree/validators.py:22
+msgid "Not a valid currency code"
+msgstr ""
+
+#: InvenTree/validators.py:50
+msgid "Invalid character in part name"
+msgstr ""
+
+#: InvenTree/validators.py:63
+#, python-brace-format
+msgid "IPN must match regex pattern {pat}"
+msgstr ""
+
+#: InvenTree/validators.py:77 InvenTree/validators.py:91
+#: InvenTree/validators.py:105
+msgid "Reference must match pattern"
+msgstr ""
+
+#: InvenTree/validators.py:113
+#, python-brace-format
+msgid "Illegal character in name ({x})"
+msgstr ""
+
+#: InvenTree/validators.py:132 InvenTree/validators.py:148
+msgid "Overage value must not be negative"
+msgstr ""
+
+#: InvenTree/validators.py:150
+msgid "Overage must not exceed 100%"
+msgstr ""
+
+#: InvenTree/validators.py:157
+msgid "Overage must be an integer value or a percentage"
+msgstr ""
+
+#: InvenTree/views.py:587
+msgid "Delete Item"
+msgstr ""
+
+#: InvenTree/views.py:636
+msgid "Check box to confirm item deletion"
+msgstr ""
+
+#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+msgid "Edit User Information"
+msgstr ""
+
+#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+msgid "Set Password"
+msgstr ""
+
+#: InvenTree/views.py:681
+msgid "Password fields must match"
+msgstr ""
+
+#: InvenTree/views.py:887 templates/navbar.html:95
+msgid "System Information"
+msgstr ""
+
+#: barcodes/api.py:53 barcodes/api.py:150
+msgid "Must provide barcode_data parameter"
+msgstr ""
+
+#: barcodes/api.py:126
+msgid "No match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:128
+msgid "Match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:153
+msgid "Must provide stockitem parameter"
+msgstr ""
+
+#: barcodes/api.py:160
+msgid "No matching stock item found"
+msgstr ""
+
+#: barcodes/api.py:190
+msgid "Barcode already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:194
+msgid "Barcode already matches StockLocation object"
+msgstr ""
+
+#: barcodes/api.py:198
+msgid "Barcode already matches Part object"
+msgstr ""
+
+#: barcodes/api.py:204 barcodes/api.py:216
+msgid "Barcode hash already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:222
+msgid "Barcode associated with StockItem"
+msgstr ""
+
+#: build/forms.py:36
+msgid "Build Order reference"
+msgstr ""
+
+#: build/forms.py:37
+msgid "Order target date"
+msgstr ""
+
+#: build/forms.py:41 build/templates/build/build_base.html:136
+#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
+#: order/templates/order/order_base.html:124
+#: order/templates/order/sales_order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/build.js:783 templates/js/order.js:200
+#: templates/js/order.js:298
+msgid "Target Date"
+msgstr ""
+
+#: build/forms.py:42 build/models.py:224
+msgid ""
+"Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227
+#: build/templates/build/allocation_card.html:23
+#: build/templates/build/auto_allocate.html:17
+#: build/templates/build/build_base.html:123
+#: build/templates/build/detail.html:31 common/models.py:703
+#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
+#: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261
+#: order/forms.py:278 order/models.py:593 order/models.py:784
+#: order/templates/order/order_wizard/select_parts.html:32
+#: order/templates/order/purchase_order_detail.html:200
+#: order/templates/order/sales_order_detail.html:70
+#: order/templates/order/sales_order_detail.html:77
+#: order/templates/order/sales_order_detail.html:159
+#: order/templates/order/sales_order_detail.html:224 part/forms.py:342
+#: part/forms.py:371 part/forms.py:387 part/models.py:2178
+#: part/templates/part/allocation.html:19
+#: part/templates/part/allocation.html:53
+#: part/templates/part/part_pricing.html:11
+#: part/templates/part/part_pricing.html:18
+#: part/templates/part/sale_prices.html:85
+#: report/templates/report/inventree_build_order_base.html:114
+#: report/templates/report/inventree_po_report.html:91
+#: report/templates/report/inventree_so_report.html:91
+#: report/templates/report/inventree_test_report_base.html:77
+#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566
+#: stock/templates/stock/item_base.html:244
+#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
+#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
+#: templates/js/stock.js:1033 templates/js/stock.js:1271
+msgid "Quantity"
+msgstr ""
+
+#: build/forms.py:48
+msgid "Number of items to build"
+msgstr ""
+
+#: build/forms.py:90
+msgid "Enter quantity for build output"
+msgstr ""
+
+#: build/forms.py:94 order/forms.py:233 stock/forms.py:118
+msgid "Serial Numbers"
+msgstr ""
+
+#: build/forms.py:96
+msgid "Enter serial numbers for build outputs"
+msgstr ""
+
+#: build/forms.py:102
+msgid "Confirm creation of build output"
+msgstr ""
+
+#: build/forms.py:123
+msgid "Confirm deletion of build output"
+msgstr ""
+
+#: build/forms.py:144
+msgid "Confirm unallocation of stock"
+msgstr ""
+
+#: build/forms.py:168
+msgid "Confirm stock allocation"
+msgstr ""
+
+#: build/forms.py:185
+msgid "Mark build as complete"
+msgstr ""
+
+#: build/forms.py:209 build/templates/build/auto_allocate.html:18
+#: order/forms.py:82 stock/forms.py:347
+#: stock/templates/stock/item_base.html:274
+#: stock/templates/stock/stock_adjust.html:17
+#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
+#: templates/js/barcode.js:531 templates/js/build.js:490
+#: templates/js/stock.js:641
+msgid "Location"
+msgstr ""
+
+#: build/forms.py:210
+msgid "Location of completed parts"
+msgstr ""
+
+#: build/forms.py:214 build/templates/build/build_base.html:128
+#: build/templates/build/detail.html:59 order/models.py:445
+#: order/templates/order/receive_parts.html:24
+#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
+#: templates/js/barcode.js:119 templates/js/build.js:770
+#: templates/js/order.js:187 templates/js/order.js:285
+#: templates/js/stock.js:628 templates/js/stock.js:1279
+msgid "Status"
+msgstr ""
+
+#: build/forms.py:215
+msgid "Build output stock status"
+msgstr ""
+
+#: build/forms.py:222
+msgid "Confirm incomplete"
+msgstr ""
+
+#: build/forms.py:223
+msgid "Confirm completion with incomplete stock allocation"
+msgstr ""
+
+#: build/forms.py:226
+msgid "Confirm build completion"
+msgstr ""
+
+#: build/forms.py:251
+msgid "Confirm cancel"
+msgstr ""
+
+#: build/forms.py:251 build/views.py:66
+msgid "Confirm build cancellation"
+msgstr ""
+
+#: build/forms.py:265
+msgid "Select quantity of stock to allocate"
+msgstr ""
+
+#: build/models.py:65 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:63
+#: part/templates/part/allocation.html:23
+#: report/templates/report/inventree_build_order_base.html:106
+msgid "Build Order"
+msgstr ""
+
+#: build/models.py:66 build/templates/build/index.html:8
+#: build/templates/build/index.html:15 order/templates/order/so_builds.html:12
+#: order/templates/order/so_navbar.html:19
+#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
+#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
+#: templates/InvenTree/search.html:185
+#: templates/InvenTree/settings/tabs.html:31 users/models.py:41
+msgid "Build Orders"
+msgstr ""
+
+#: build/models.py:126
+msgid "Build Order Reference"
+msgstr ""
+
+#: build/models.py:127 order/models.py:99 order/models.py:595
+#: order/templates/order/purchase_order_detail.html:195
+#: order/templates/order/sales_order_detail.html:219 part/models.py:2187
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
+#: templates/js/build.js:565 templates/js/build.js:1008
+msgid "Reference"
+msgstr ""
+
+#: build/models.py:137
+msgid "Brief description of the build"
+msgstr ""
+
+#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/templates/build/detail.html:77
+msgid "Parent Build"
+msgstr ""
+
+#: build/models.py:147
+msgid "BuildOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:152 build/templates/build/auto_allocate.html:16
+#: build/templates/build/build_base.html:118
+#: build/templates/build/detail.html:26 company/models.py:669
+#: order/models.py:637 order/models.py:669
+#: order/templates/order/order_wizard/select_parts.html:30
+#: order/templates/order/purchase_order_detail.html:156
+#: order/templates/order/receive_parts.html:19
+#: order/templates/order/sales_order_detail.html:207 part/models.py:321
+#: part/models.py:1876 part/models.py:1888 part/models.py:1906
+#: part/models.py:1981 part/models.py:2077 part/models.py:2162
+#: part/templates/part/part_app_base.html:8
+#: part/templates/part/part_pricing.html:14 part/templates/part/related.html:29
+#: part/templates/part/set_category.html:13
+#: report/templates/report/inventree_build_order_base.html:110
+#: report/templates/report/inventree_po_report.html:90
+#: report/templates/report/inventree_so_report.html:90
+#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
+#: templates/js/barcode.js:362 templates/js/bom.js:163
+#: templates/js/build.js:741 templates/js/build.js:981
+#: templates/js/company.js:140 templates/js/company.js:238
+#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
+#: templates/js/stock.js:1343
+msgid "Part"
+msgstr ""
+
+#: build/models.py:160
+msgid "Select part to build"
+msgstr ""
+
+#: build/models.py:165
+msgid "Sales Order Reference"
+msgstr ""
+
+#: build/models.py:169
+msgid "SalesOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:174
+msgid "Source Location"
+msgstr ""
+
+#: build/models.py:178
+msgid ""
+"Select location to take stock from for this build (leave blank to take from "
+"any stock location)"
+msgstr ""
+
+#: build/models.py:183
+msgid "Destination Location"
+msgstr ""
+
+#: build/models.py:187
+msgid "Select location where the completed items will be stored"
+msgstr ""
+
+#: build/models.py:191
+msgid "Build Quantity"
+msgstr ""
+
+#: build/models.py:194
+msgid "Number of stock items to build"
+msgstr ""
+
+#: build/models.py:198
+msgid "Completed items"
+msgstr ""
+
+#: build/models.py:200
+msgid "Number of stock items which have been completed"
+msgstr ""
+
+#: build/models.py:204 part/templates/part/part_base.html:160
+msgid "Build Status"
+msgstr ""
+
+#: build/models.py:208
+msgid "Build status code"
+msgstr ""
+
+#: build/models.py:212 stock/models.py:432
+msgid "Batch Code"
+msgstr ""
+
+#: build/models.py:216
+msgid "Batch code for this build output"
+msgstr ""
+
+#: build/models.py:219 order/models.py:105 part/models.py:882
+#: part/templates/part/detail.html:126 templates/js/order.js:293
+msgid "Creation Date"
+msgstr ""
+
+#: build/models.py:223 order/models.py:451
+msgid "Target completion date"
+msgstr ""
+
+#: build/models.py:227 order/models.py:218 templates/js/build.js:788
+msgid "Completion Date"
+msgstr ""
+
+#: build/models.py:233
+msgid "completed by"
+msgstr ""
+
+#: build/models.py:241
+msgid "Issued by"
+msgstr ""
+
+#: build/models.py:242
+msgid "User who issued this build order"
+msgstr ""
+
+#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/templates/build/detail.html:105 order/models.py:119
+#: order/templates/order/order_base.html:138
+#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: report/templates/report/inventree_build_order_base.html:159
+msgid "Responsible"
+msgstr ""
+
+#: build/models.py:251
+msgid "User responsible for this build order"
+msgstr ""
+
+#: build/models.py:256 build/templates/build/detail.html:91
+#: company/templates/company/manufacturer_part_base.html:79
+#: company/templates/company/manufacturer_part_detail.html:28
+#: company/templates/company/supplier_part_base.html:78
+#: company/templates/company/supplier_part_detail.html:28
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
+#: stock/models.py:426 stock/templates/stock/item_base.html:334
+msgid "External Link"
+msgstr ""
+
+#: build/models.py:257 part/models.py:744 stock/models.py:428
+msgid "Link to external URL"
+msgstr ""
+
+#: build/models.py:261 build/templates/build/navbar.html:53
+#: company/models.py:135 company/models.py:501
+#: company/templates/company/navbar.html:70
+#: company/templates/company/navbar.html:73 order/models.py:123
+#: order/models.py:597 order/templates/order/po_navbar.html:29
+#: order/templates/order/po_navbar.html:32
+#: order/templates/order/purchase_order_detail.html:234
+#: order/templates/order/sales_order_detail.html:264
+#: order/templates/order/so_navbar.html:33
+#: order/templates/order/so_navbar.html:36 part/models.py:871
+#: part/templates/part/navbar.html:128
+#: report/templates/report/inventree_build_order_base.html:173
+#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
+#: stock/models.py:498 stock/models.py:1558 stock/models.py:1668
+#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
+#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+msgid "Notes"
+msgstr ""
+
+#: build/models.py:262
+msgid "Extra build notes"
+msgstr ""
+
+#: build/models.py:739
+msgid "No build output specified"
+msgstr ""
+
+#: build/models.py:742
+msgid "Build output is already completed"
+msgstr ""
+
+#: build/models.py:745
+msgid "Build output does not match Build Order"
+msgstr ""
+
+#: build/models.py:838
+msgid "Completed build output"
+msgstr ""
+
+#: build/models.py:1118
+msgid "BuildItem must be unique for build, stock_item and install_into"
+msgstr ""
+
+#: build/models.py:1143
+msgid ""
+"Build item must specify a build output, as master part is marked as trackable"
+msgstr ""
+
+#: build/models.py:1147
+#, python-brace-format
+msgid "Selected stock item not found in BOM for part '{p}'"
+msgstr ""
+
+#: build/models.py:1151
+#, python-brace-format
+msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
+msgstr ""
+
+#: build/models.py:1158 order/models.py:758
+msgid "StockItem is over-allocated"
+msgstr ""
+
+#: build/models.py:1162 order/models.py:761
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1166
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1206 stock/templates/stock/item_base.html:306
+#: templates/InvenTree/search.html:183 templates/js/build.js:714
+#: templates/navbar.html:29
+msgid "Build"
+msgstr ""
+
+#: build/models.py:1207
+msgid "Build to allocate parts"
+msgstr ""
+
+#: build/models.py:1214 part/templates/part/allocation.html:18
+#: part/templates/part/allocation.html:24
+#: part/templates/part/allocation.html:31
+#: part/templates/part/allocation.html:49
+#: stock/templates/stock/item_base.html:8
+#: stock/templates/stock/item_base.html:93
+#: stock/templates/stock/item_base.html:328
+#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
+#: templates/js/stock.js:1004 templates/js/stock.js:1262
+msgid "Stock Item"
+msgstr ""
+
+#: build/models.py:1215
+msgid "Source stock item"
+msgstr ""
+
+#: build/models.py:1228
+msgid "Stock quantity to allocate to build"
+msgstr ""
+
+#: build/models.py:1236
+msgid "Install into"
+msgstr ""
+
+#: build/models.py:1237
+msgid "Destination stock item"
+msgstr ""
+
+#: build/templates/build/allocate.html:7
+msgid "Allocate Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:15
+msgid "Allocate Stock to Build"
+msgstr ""
+
+#: build/templates/build/allocate.html:22
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/allocate.html:23
+msgid "Auto Allocate"
+msgstr ""
+
+#: build/templates/build/allocate.html:25 templates/js/build.js:646
+msgid "Unallocate stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794
+msgid "Unallocate Stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:29
+msgid "Order required parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:30
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32 order/views.py:794
+#: part/templates/part/category.html:127
+msgid "Order Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:36
+msgid "Untracked stock has been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:40
+msgid "Untracked stock has not been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:47
+msgid "This Build Order does not have any associated untracked BOM items"
+msgstr ""
+
+#: build/templates/build/allocation_card.html:21
+#: build/templates/build/complete_output.html:46
+#: order/templates/order/sales_order_detail.html:75
+#: order/templates/order/sales_order_detail.html:157
+#: report/templates/report/inventree_test_report_base.html:75
+#: stock/models.py:420 stock/templates/stock/item_base.html:238
+#: templates/js/build.js:474
+msgid "Serial Number"
+msgstr ""
+
+#: build/templates/build/attachments.html:12
+#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
+#: order/templates/order/po_navbar.html:26
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
+#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: stock/templates/stock/navbar.html:50
+msgid "Attachments"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:9
+msgid "Automatically Allocate Stock"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:10
+msgid ""
+"The following stock items will be allocated to the specified build output"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:37
+msgid "No stock items found that can be automatically allocated to this build"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:39
+msgid "Stock items will have to be manually allocated"
+msgstr ""
+
+#: build/templates/build/build_base.html:16
+#, python-format
+msgid "This Build Order is allocated to Sales Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:22
+#, python-format
+msgid "This Build Order is a child of Build Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:31
+msgid "Build Order is ready to mark as completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:36
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr ""
+
+#: build/templates/build/build_base.html:41
+msgid "Required build quantity has not yet been completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:46
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:65
+#: company/templates/company/company_base.html:40
+#: company/templates/company/manufacturer_part_base.html:25
+#: company/templates/company/supplier_part_base.html:26
+#: order/templates/order/order_base.html:26
+#: order/templates/order/sales_order_base.html:35
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
+#: stock/templates/stock/item_base.html:118
+#: stock/templates/stock/location.html:31
+msgid "Admin view"
+msgstr ""
+
+#: build/templates/build/build_base.html:71
+#: build/templates/build/build_base.html:140
+#: order/templates/order/order_base.html:32
+#: order/templates/order/order_base.html:86
+#: order/templates/order/sales_order_base.html:41
+#: order/templates/order/sales_order_base.html:86
+#: templates/js/table_filters.js:240 templates/js/table_filters.js:259
+#: templates/js/table_filters.js:276
+msgid "Overdue"
+msgstr ""
+
+#: build/templates/build/build_base.html:80
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:84
+msgid "Print Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:90
+#: build/templates/build/build_base.html:215
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:95
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:99
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:101
+#: build/templates/build/build_base.html:199 build/views.py:57
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:114
+#: build/templates/build/detail.html:11
+msgid "Build Details"
+msgstr ""
+
+#: build/templates/build/build_base.html:140
+#, python-format
+msgid "This build was due on %(target)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:147
+#: build/templates/build/detail.html:64
+msgid "Progress"
+msgstr ""
+
+#: build/templates/build/build_base.html:160
+#: build/templates/build/detail.html:84 order/models.py:667
+#: order/templates/order/sales_order_base.html:9
+#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_ship.html:25
+#: part/templates/part/allocation.html:30
+#: report/templates/report/inventree_build_order_base.html:136
+#: report/templates/report/inventree_so_report.html:77
+#: stock/templates/stock/item_base.html:268 templates/js/order.js:245
+msgid "Sales Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:167
+#: build/templates/build/detail.html:98
+#: report/templates/report/inventree_build_order_base.html:153
+msgid "Issued By"
+msgstr ""
+
+#: build/templates/build/build_base.html:207
+msgid "Incomplete Outputs"
+msgstr ""
+
+#: build/templates/build/build_base.html:208
+msgid "Build Order cannot be completed as incomplete build outputs remain"
+msgstr ""
+
+#: build/templates/build/build_children.html:10
+#: build/templates/build/navbar.html:36
+msgid "Child Build Orders"
+msgstr ""
+
+#: build/templates/build/build_output.html:15
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output.html:22
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:23
+msgid "Create New Output"
+msgstr ""
+
+#: build/templates/build/build_output.html:36
+msgid "Create a new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:37
+msgid "No incomplete build outputs remain."
+msgstr ""
+
+#: build/templates/build/build_output.html:38
+msgid "Create a new build output using the button above"
+msgstr ""
+
+#: build/templates/build/build_output.html:49
+msgid "Completed Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:7
+msgid "The Bill of Materials contains trackable parts"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:8
+msgid "Build outputs must be generated individually."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:9
+msgid "Multiple build outputs will be created based on the quantity specified."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:15
+msgid "Trackable parts can have serial numbers specified"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:16
+msgid "Enter serial numbers to generate multiple single build outputs"
+msgstr ""
+
+#: build/templates/build/cancel.html:5
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: build/templates/build/complete.html:8
+msgid "Build Order is complete"
+msgstr ""
+
+#: build/templates/build/complete.html:12
+msgid "Build Order is incomplete"
+msgstr ""
+
+#: build/templates/build/complete.html:15
+msgid "Incompleted build outputs remain"
+msgstr ""
+
+#: build/templates/build/complete.html:18
+msgid "Required build quantity has not been completed"
+msgstr ""
+
+#: build/templates/build/complete.html:21
+msgid "Required stock has not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:10
+msgid "Stock allocation is complete for this output"
+msgstr ""
+
+#: build/templates/build/complete_output.html:14
+msgid "Stock allocation is incomplete"
+msgstr ""
+
+#: build/templates/build/complete_output.html:20
+msgid "tracked parts have not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:41
+msgid "The following items will be created"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:7
+msgid "Select a stock item to allocate to the selected build output"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:11
+#, python-format
+msgid ""
+"The allocated stock will be installed into the following build output:
"
+"%(output)s"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:17
+#, python-format
+msgid "No stock available for %(part)s"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:8
+msgid "Are you sure you want to unallocate this stock?"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:11
+msgid "The selected stock will be unallocated from the build output"
+msgstr ""
+
+#: build/templates/build/detail.html:35
+msgid "Stock Source"
+msgstr ""
+
+#: build/templates/build/detail.html:40
+msgid "Stock can be taken from any available location."
+msgstr ""
+
+#: build/templates/build/detail.html:46 stock/forms.py:169 stock/forms.py:375
+msgid "Destination"
+msgstr ""
+
+#: build/templates/build/detail.html:53
+msgid "Destination location not specified"
+msgstr ""
+
+#: build/templates/build/detail.html:70
+#: stock/templates/stock/item_base.html:292 templates/js/stock.js:636
+#: templates/js/stock.js:1286 templates/js/table_filters.js:107
+#: templates/js/table_filters.js:201
+msgid "Batch"
+msgstr ""
+
+#: build/templates/build/detail.html:116
+#: order/templates/order/order_base.html:111
+#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+msgid "Created"
+msgstr ""
+
+#: build/templates/build/detail.html:127
+msgid "No target date set"
+msgstr ""
+
+#: build/templates/build/detail.html:132 templates/js/build.js:756
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/detail.html:136
+msgid "Build not complete"
+msgstr ""
+
+#: build/templates/build/edit_build_item.html:7
+msgid "Alter the quantity of stock allocated to the build output"
+msgstr ""
+
+#: build/templates/build/index.html:28 build/views.py:667
+msgid "New Build Order"
+msgstr ""
+
+#: build/templates/build/index.html:37 build/templates/build/index.html:38
+msgid "Print Build Orders"
+msgstr ""
+
+#: build/templates/build/index.html:43
+#: order/templates/order/purchase_orders.html:27
+#: order/templates/order/sales_orders.html:27
+msgid "Display calendar view"
+msgstr ""
+
+#: build/templates/build/index.html:46
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:30
+msgid "Display list view"
+msgstr ""
+
+#: build/templates/build/navbar.html:12
+msgid "Build Order Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:15
+#: company/templates/company/navbar.html:15
+#: order/templates/order/po_navbar.html:14
+#: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15
+msgid "Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24
+#: build/views.py:91
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32
+msgid "Build Outputs"
+msgstr ""
+
+#: build/templates/build/navbar.html:39
+msgid "Child Builds"
+msgstr ""
+
+#: build/templates/build/navbar.html:50
+msgid "Build Order Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:12
+msgid "Build Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:14 company/templates/company/notes.html:13
+#: order/templates/order/order_notes.html:15
+#: order/templates/order/sales_order_notes.html:16
+#: part/templates/part/notes.html:14 stock/templates/stock/item_notes.html:15
+msgid "Edit notes"
+msgstr ""
+
+#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
+#: order/templates/order/order_notes.html:27
+#: order/templates/order/sales_order_notes.html:29
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:470
+#: stock/templates/stock/item_notes.html:26
+msgid "Save"
+msgstr ""
+
+#: build/templates/build/unallocate.html:10
+msgid "Are you sure you wish to unallocate all stock for this build?"
+msgstr ""
+
+#: build/templates/build/unallocate.html:12
+msgid "All incomplete stock allocations will be removed from the build"
+msgstr ""
+
+#: build/views.py:77
+msgid "Build was cancelled"
+msgstr ""
+
+#: build/views.py:138
+msgid "Allocated stock to build output"
+msgstr ""
+
+#: build/views.py:150
+msgid "Create Build Output"
+msgstr ""
+
+#: build/views.py:173 stock/models.py:969 stock/views.py:1789
+msgid "Serial numbers already exist"
+msgstr ""
+
+#: build/views.py:182
+msgid "Serial numbers required for trackable build output"
+msgstr ""
+
+#: build/views.py:248
+msgid "Delete Build Output"
+msgstr ""
+
+#: build/views.py:269 build/views.py:359
+msgid "Confirm unallocation of build stock"
+msgstr ""
+
+#: build/views.py:270 build/views.py:360 stock/views.py:425
+msgid "Check the confirmation box"
+msgstr ""
+
+#: build/views.py:282
+msgid "Build output does not match build"
+msgstr ""
+
+#: build/views.py:284 build/views.py:485
+msgid "Build output must be specified"
+msgstr ""
+
+#: build/views.py:296
+msgid "Build output deleted"
+msgstr ""
+
+#: build/views.py:394
+msgid "Complete Build Order"
+msgstr ""
+
+#: build/views.py:400
+msgid "Build order cannot be completed - incomplete outputs remain"
+msgstr ""
+
+#: build/views.py:411
+msgid "Completed build order"
+msgstr ""
+
+#: build/views.py:427
+msgid "Complete Build Output"
+msgstr ""
+
+#: build/views.py:469
+msgid "Invalid stock status value selected"
+msgstr ""
+
+#: build/views.py:476
+msgid "Quantity to complete cannot exceed build output quantity"
+msgstr ""
+
+#: build/views.py:482
+msgid "Confirm completion of incomplete build"
+msgstr ""
+
+#: build/views.py:581
+msgid "Build output completed"
+msgstr ""
+
+#: build/views.py:721
+msgid "Created new build"
+msgstr ""
+
+#: build/views.py:742
+msgid "Edit Build Order Details"
+msgstr ""
+
+#: build/views.py:775
+msgid "Edited build"
+msgstr ""
+
+#: build/views.py:784
+msgid "Delete Build Order"
+msgstr ""
+
+#: build/views.py:799
+msgid "Removed parts from build allocation"
+msgstr ""
+
+#: build/views.py:811
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: build/views.py:854
+msgid "Item must be currently in stock"
+msgstr ""
+
+#: build/views.py:860
+msgid "Stock item is over-allocated"
+msgstr ""
+
+#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575
+#: templates/js/build.js:838 templates/js/build.js:1021
+msgid "Available"
+msgstr ""
+
+#: build/views.py:863
+msgid "Stock item must be selected"
+msgstr ""
+
+#: build/views.py:1026
+msgid "Edit Stock Allocation"
+msgstr ""
+
+#: build/views.py:1030
+msgid "Updated Build Item"
+msgstr ""
+
+#: build/views.py:1059
+msgid "Add Build Order Attachment"
+msgstr ""
+
+#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172
+#: stock/views.py:277
+msgid "Added attachment"
+msgstr ""
+
+#: build/views.py:1108 order/views.py:189 order/views.py:210
+msgid "Edit Attachment"
+msgstr ""
+
+#: build/views.py:1118 order/views.py:193 order/views.py:214
+msgid "Attachment updated"
+msgstr ""
+
+#: build/views.py:1128 order/views.py:229 order/views.py:243
+msgid "Delete Attachment"
+msgstr ""
+
+#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333
+msgid "Deleted attachment"
+msgstr ""
+
+#: common/models.py:56
+msgid "InvenTree Instance Name"
+msgstr ""
+
+#: common/models.py:58
+msgid "String descriptor for the server instance"
+msgstr ""
+
+#: common/models.py:62
+msgid "Use instance name"
+msgstr ""
+
+#: common/models.py:63
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:69 company/models.py:97 company/models.py:98
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:70
+msgid "Internal company name"
+msgstr ""
+
+#: common/models.py:75
+msgid "Base URL"
+msgstr ""
+
+#: common/models.py:76
+msgid "Base URL for server instance"
+msgstr ""
+
+#: common/models.py:82
+msgid "Default Currency"
+msgstr ""
+
+#: common/models.py:83
+msgid "Default currency"
+msgstr ""
+
+#: common/models.py:89
+msgid "Download from URL"
+msgstr ""
+
+#: common/models.py:90
+msgid "Allow download of remote images and files from external URL"
+msgstr ""
+
+#: common/models.py:96
+msgid "Barcode Support"
+msgstr ""
+
+#: common/models.py:97
+msgid "Enable barcode scanner support"
+msgstr ""
+
+#: common/models.py:103
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:104
+msgid "Regular expression pattern for matching Part IPN"
+msgstr ""
+
+#: common/models.py:108
+msgid "Allow Duplicate IPN"
+msgstr ""
+
+#: common/models.py:109
+msgid "Allow multiple parts to share the same IPN"
+msgstr ""
+
+#: common/models.py:115
+msgid "Allow Editing IPN"
+msgstr ""
+
+#: common/models.py:116
+msgid "Allow changing the IPN value while editing a part"
+msgstr ""
+
+#: common/models.py:122
+msgid "Copy Part BOM Data"
+msgstr ""
+
+#: common/models.py:123
+msgid "Copy BOM data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:129
+msgid "Copy Part Parameter Data"
+msgstr ""
+
+#: common/models.py:130
+msgid "Copy parameter data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:136
+msgid "Copy Part Test Data"
+msgstr ""
+
+#: common/models.py:137
+msgid "Copy test data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:143
+msgid "Copy Category Parameter Templates"
+msgstr ""
+
+#: common/models.py:144
+msgid "Copy category parameter templates when creating a part"
+msgstr ""
+
+#: common/models.py:150
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:151
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:157 part/models.py:2079 part/templates/part/detail.html:160
+#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:24
+#: templates/js/table_filters.js:310
+msgid "Template"
+msgstr ""
+
+#: common/models.py:158
+msgid "Parts are templates by default"
+msgstr ""
+
+#: common/models.py:164 part/models.py:834 part/templates/part/detail.html:170
+#: templates/js/table_filters.js:123 templates/js/table_filters.js:322
+msgid "Assembly"
+msgstr ""
+
+#: common/models.py:165
+msgid "Parts can be assembled from other components by default"
+msgstr ""
+
+#: common/models.py:171 part/models.py:840 part/templates/part/detail.html:180
+#: templates/js/table_filters.js:326
+msgid "Component"
+msgstr ""
+
+#: common/models.py:172
+msgid "Parts can be used as sub-components by default"
+msgstr ""
+
+#: common/models.py:178 part/models.py:851 part/templates/part/detail.html:200
+msgid "Purchaseable"
+msgstr ""
+
+#: common/models.py:179
+msgid "Parts are purchaseable by default"
+msgstr ""
+
+#: common/models.py:185 part/models.py:856 part/templates/part/detail.html:210
+#: templates/js/table_filters.js:334
+msgid "Salable"
+msgstr ""
+
+#: common/models.py:186
+msgid "Parts are salable by default"
+msgstr ""
+
+#: common/models.py:192 part/models.py:846 part/templates/part/detail.html:190
+#: templates/js/table_filters.js:32 templates/js/table_filters.js:338
+msgid "Trackable"
+msgstr ""
+
+#: common/models.py:193
+msgid "Parts are trackable by default"
+msgstr ""
+
+#: common/models.py:199 part/models.py:866 part/templates/part/detail.html:150
+#: templates/js/table_filters.js:28
+msgid "Virtual"
+msgstr ""
+
+#: common/models.py:200
+msgid "Parts are virtual by default"
+msgstr ""
+
+#: common/models.py:206
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:207
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:213
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:214
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:220
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:221
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:231
+msgid "Test Reports"
+msgstr ""
+
+#: common/models.py:232
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:238
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:239
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:245
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:246
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:252
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:253
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:255 part/templates/part/detail.html:121
+msgid "days"
+msgstr ""
+
+#: common/models.py:260
+msgid "Build Expired Stock"
+msgstr ""
+
+#: common/models.py:261
+msgid "Allow building with expired stock"
+msgstr ""
+
+#: common/models.py:267
+msgid "Stock Ownership Control"
+msgstr ""
+
+#: common/models.py:268
+msgid "Enable ownership control over stock locations and items"
+msgstr ""
+
+#: common/models.py:274
+msgid "Group by Part"
+msgstr ""
+
+#: common/models.py:275
+msgid "Group stock items by part reference in table views"
+msgstr ""
+
+#: common/models.py:281
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:282
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:288
+msgid "Build Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:289
+msgid "Prefix value for build order reference"
+msgstr ""
+
+#: common/models.py:294
+msgid "Build Order Reference Regex"
+msgstr ""
+
+#: common/models.py:295
+msgid "Regular expression pattern for matching build order reference"
+msgstr ""
+
+#: common/models.py:299
+msgid "Sales Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:300
+msgid "Prefix value for sales order reference"
+msgstr ""
+
+#: common/models.py:305
+msgid "Purchase Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:306
+msgid "Prefix value for purchase order reference"
+msgstr ""
+
+#: common/models.py:529
+msgid "Settings key (must be unique - case insensitive"
+msgstr ""
+
+#: common/models.py:531
+msgid "Settings value"
+msgstr ""
+
+#: common/models.py:566
+msgid "Must be an integer value"
+msgstr ""
+
+#: common/models.py:589
+msgid "Value must be a boolean value"
+msgstr ""
+
+#: common/models.py:600
+msgid "Value must be an integer value"
+msgstr ""
+
+#: common/models.py:623
+msgid "Key string must be unique"
+msgstr ""
+
+#: common/models.py:704 company/forms.py:177
+msgid "Price break quantity"
+msgstr ""
+
+#: common/models.py:712 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+msgid "Price"
+msgstr ""
+
+#: common/models.py:713
+msgid "Unit price at specified quantity"
+msgstr ""
+
+#: common/models.py:736
+msgid "Default"
+msgstr ""
+
+#: common/templates/common/edit_setting.html:11
+msgid "Current value"
+msgstr ""
+
+#: common/views.py:25
+msgid "Change Setting"
+msgstr ""
+
+#: common/views.py:94
+msgid "Supplied value is not allowed"
+msgstr ""
+
+#: common/views.py:103
+msgid "Supplied value must be a boolean"
+msgstr ""
+
+#: company/forms.py:38 company/models.py:145
+#: company/templates/company/detail.html:42
+msgid "Currency"
+msgstr ""
+
+#: company/forms.py:39 company/models.py:147
+msgid "Default currency used for this company"
+msgstr ""
+
+#: company/forms.py:77 part/forms.py:46
+msgid "URL"
+msgstr ""
+
+#: company/forms.py:78 part/forms.py:47
+msgid "Image URL"
+msgstr ""
+
+#: company/forms.py:118
+msgid "Single Price"
+msgstr ""
+
+#: company/forms.py:120
+msgid "Single quantity price"
+msgstr ""
+
+#: company/forms.py:128 company/models.py:324
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/forms.py:134 company/models.py:331
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/forms.py:136 company/models.py:330
+#: company/templates/company/manufacturer_part_base.html:89
+#: company/templates/company/manufacturer_part_detail.html:26
+#: company/templates/company/supplier_part_base.html:101
+#: company/templates/company/supplier_part_detail.html:35
+#: order/templates/order/purchase_order_detail.html:183 part/bom.py:171
+#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:102
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:103
+msgid "Description of the company"
+msgstr ""
+
+#: company/models.py:107 company/templates/company/company_base.html:70
+#: company/templates/company/detail.html:33 templates/js/company.js:60
+msgid "Website"
+msgstr ""
+
+#: company/models.py:107
+msgid "Company website URL"
+msgstr ""
+
+#: company/models.py:110 company/templates/company/company_base.html:77
+msgid "Address"
+msgstr ""
+
+#: company/models.py:111
+msgid "Company address"
+msgstr ""
+
+#: company/models.py:114
+msgid "Phone number"
+msgstr ""
+
+#: company/models.py:115
+msgid "Contact phone number"
+msgstr ""
+
+#: company/models.py:118 company/templates/company/company_base.html:91
+msgid "Email"
+msgstr ""
+
+#: company/models.py:118
+msgid "Contact email address"
+msgstr ""
+
+#: company/models.py:121 company/templates/company/company_base.html:98
+msgid "Contact"
+msgstr ""
+
+#: company/models.py:122
+msgid "Point of contact"
+msgstr ""
+
+#: company/models.py:124 company/models.py:336 company/models.py:488
+#: order/models.py:103 part/models.py:743
+#: report/templates/report/inventree_build_order_base.html:165
+#: stock/models.py:1560 templates/js/company.js:188 templates/js/company.js:318
+#: templates/js/part.js:431
+msgid "Link"
+msgstr ""
+
+#: company/models.py:124
+msgid "Link to external company information"
+msgstr ""
+
+#: company/models.py:132 part/models.py:753
+msgid "Image"
+msgstr ""
+
+#: company/models.py:137
+msgid "is customer"
+msgstr ""
+
+#: company/models.py:137
+msgid "Do you sell items to this company?"
+msgstr ""
+
+#: company/models.py:139
+msgid "is supplier"
+msgstr ""
+
+#: company/models.py:139
+msgid "Do you purchase items from this company?"
+msgstr ""
+
+#: company/models.py:141
+msgid "is manufacturer"
+msgstr ""
+
+#: company/models.py:141
+msgid "Does this company manufacture parts?"
+msgstr ""
+
+#: company/models.py:308 company/models.py:459 stock/models.py:373
+#: stock/templates/stock/item_base.html:224
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:312 company/models.py:463 order/views.py:1372
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:323 company/templates/company/detail.html:57
+#: company/templates/company/manufacturer_part_base.html:85
+#: company/templates/company/manufacturer_part_detail.html:25
+#: company/templates/company/supplier_part_base.html:94
+#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
+#: part/bom.py:241 stock/templates/stock/item_base.html:341
+#: templates/js/company.js:44 templates/js/company.js:165
+#: templates/js/company.js:289
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:337
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:343
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:469 company/templates/company/detail.html:62
+#: company/templates/company/supplier_part_base.html:84
+#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
+#: order/templates/order/order_base.html:92
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
+#: part/bom.py:286 stock/templates/stock/item_base.html:353
+#: templates/js/company.js:48 templates/js/company.js:263
+#: templates/js/order.js:170
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:470
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:475 company/templates/company/supplier_part_base.html:88
+#: company/templates/company/supplier_part_detail.html:26
+#: order/templates/order/purchase_order_detail.html:174 part/bom.py:176
+#: part/bom.py:287
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:476
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:482
+#: company/templates/company/manufacturer_part_base.html:6
+#: company/templates/company/manufacturer_part_base.html:19
+#: stock/templates/stock/item_base.html:346
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:483
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:489
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:495
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:500 company/templates/company/supplier_part_base.html:115
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2190
+#: report/templates/report/inventree_po_report.html:93
+#: report/templates/report/inventree_so_report.html:93
+msgid "Note"
+msgstr ""
+
+#: company/models.py:504
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:504
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:506 company/templates/company/supplier_part_base.html:108
+#: stock/models.py:397 stock/templates/stock/item_base.html:299
+#: templates/js/stock.js:667
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:506
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:508
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:508
+msgid "Order multiple"
+msgstr ""
+
+#: company/templates/company/assigned_stock.html:10
+#: company/templates/company/navbar.html:62
+#: company/templates/company/navbar.html:65 templates/js/build.js:467
+msgid "Assigned Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:9
+#: company/templates/company/company_base.html:35
+#: templates/InvenTree/search.html:304 templates/js/company.js:33
+msgid "Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:25
+#: part/templates/part/part_thumb.html:21
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
+#: part/templates/part/part_thumb.html:23
+msgid "Download image from URL"
+msgstr ""
+
+#: company/templates/company/company_base.html:46 order/views.py:306
+msgid "Create Purchase Order"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+msgid "Edit company information"
+msgstr ""
+
+#: company/templates/company/company_base.html:56 company/views.py:326
+msgid "Delete Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:64
+#: company/templates/company/detail.html:10
+#: company/templates/company/navbar.html:12
+msgid "Company Details"
+msgstr ""
+
+#: company/templates/company/company_base.html:84
+msgid "Phone"
+msgstr ""
+
+#: company/templates/company/delete.html:7
+#, python-format
+msgid "Are you sure you want to delete company '%(name)s'?"
+msgstr ""
+
+#: company/templates/company/delete.html:12
+#, python-format
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
+"If this supplier is deleted, these supplier part entries will also be "
+"deleted."
+msgstr ""
+
+#: company/templates/company/detail.html:21
+msgid "Company Name"
+msgstr ""
+
+#: company/templates/company/detail.html:36
+msgid "No website specified"
+msgstr ""
+
+#: company/templates/company/detail.html:45
+msgid "Uses default currency"
+msgstr ""
+
+#: company/templates/company/detail.html:67 order/models.py:440
+#: order/templates/order/sales_order_base.html:92 stock/models.py:415
+#: stock/models.py:416 stock/templates/stock/item_base.html:251
+#: templates/js/company.js:40 templates/js/order.js:267
+msgid "Customer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:11
+#: templates/InvenTree/search.html:149
+msgid "Manufacturer Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:22
+msgid "Create new manufacturer part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:23
+#: part/templates/part/manufacturer.html:19
+msgid "New Manufacturer Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:28
+#: company/templates/company/detail_supplier_part.html:27
+#: company/templates/company/manufacturer_part_suppliers.html:20
+#: part/templates/part/category.html:122
+#: part/templates/part/manufacturer.html:22
+#: part/templates/part/supplier.html:20
+msgid "Options"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32
+#: part/templates/part/category.html:127
+msgid "Order parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:66
+#: company/templates/company/detail_supplier_part.html:66
+#: part/templates/part/bom.html:159 part/templates/part/category.html:118
+#: templates/js/stock.js:1157
+msgid "New Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:67
+#: company/templates/company/detail_supplier_part.html:67
+msgid "Create new Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:72
+#: company/views.py:71 part/templates/part/manufacturer.html:52
+#: part/templates/part/supplier.html:56
+msgid "New Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:73
+#: company/views.py:284
+msgid "Create new Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:10
+msgid "Supplier Stock"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:37
+#: company/templates/company/supplier_part_stock.html:34
+#: part/templates/part/category.html:114 part/templates/part/category.html:128
+#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163
+msgid "Export"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:11
+#: company/templates/company/manufacturer_part_navbar.html:11
+#: company/templates/company/manufacturer_part_suppliers.html:10
+#: templates/InvenTree/search.html:164
+msgid "Supplier Parts"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:21
+#: order/templates/order/order_wizard/select_parts.html:42
+#: order/templates/order/purchase_order_detail.html:75
+msgid "Create new supplier part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:22
+#: company/templates/company/manufacturer_part_suppliers.html:17
+#: order/templates/order/purchase_order_detail.html:74
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1163
+msgid "New Supplier Part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:72
+#: company/templates/company/manufacturer_part_suppliers.html:47
+#: company/views.py:64 order/templates/order/purchase_orders.html:183
+#: part/templates/part/supplier.html:50
+msgid "New Supplier"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:73 company/views.py:281
+#: order/templates/order/purchase_orders.html:184
+msgid "Create new Supplier"
+msgstr ""
+
+#: company/templates/company/index.html:8
+msgid "Supplier List"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:36
+#: company/templates/company/supplier_part_base.html:36
+#: company/templates/company/supplier_part_orders.html:17
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+msgid "Order part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:41
+msgid "Edit manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:45
+msgid "Delete manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:57
+#: company/templates/company/manufacturer_part_detail.html:10
+msgid "Manufacturer Part Details"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:62
+#: company/templates/company/manufacturer_part_detail.html:18
+#: company/templates/company/supplier_part_base.html:61
+#: company/templates/company/supplier_part_detail.html:18
+msgid "Internal Part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:6
+msgid "Are you sure you want to delete the following Manufacturer Parts?"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:36
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this manufacturer part. If you "
+"delete it, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:14
+#: company/views.py:63 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: templates/navbar.html:35
+msgid "Suppliers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:19
+msgid "Manufacturer Part Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:22
+#: company/templates/company/navbar.html:41
+#: company/templates/company/supplier_part_navbar.html:15
+#: part/templates/part/navbar.html:36 stock/api.py:51
+#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
+#: templates/InvenTree/search.html:232
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:26
+msgid "Manufacturer Part Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:29
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/supplier.html:22
+msgid "Delete supplier parts"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44
+#: part/templates/part/related.html:44 part/templates/part/supplier.html:22
+#: stock/views.py:1002 users/models.py:184
+msgid "Delete"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:48
+#: part/templates/part/supplier.html:51
+msgid "Create new supplier"
+msgstr ""
+
+#: company/templates/company/navbar.html:20
+#: company/templates/company/navbar.html:23
+msgid "Manufactured Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:29
+#: company/templates/company/navbar.html:32
+msgid "Supplied Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:33
+#: stock/templates/stock/location.html:107
+#: stock/templates/stock/location.html:122
+#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location_navbar.html:22
+#: stock/templates/stock/location_navbar.html:29
+#: templates/InvenTree/search.html:198 templates/js/stock.js:968
+#: templates/stats.html:72 templates/stats.html:81 users/models.py:40
+msgid "Stock Items"
+msgstr ""
+
+#: company/templates/company/navbar.html:47
+#: company/templates/company/navbar.html:56
+#: company/templates/company/navbar.html:59
+#: company/templates/company/sales_orders.html:11
+#: order/templates/order/sales_orders.html:8
+#: order/templates/order/sales_orders.html:13
+#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
+#: templates/InvenTree/search.html:345
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: users/models.py:43
+msgid "Sales Orders"
+msgstr ""
+
+#: company/templates/company/navbar.html:50
+#: company/templates/company/purchase_orders.html:10
+#: order/templates/order/purchase_orders.html:8
+#: order/templates/order/purchase_orders.html:13
+#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
+#: templates/InvenTree/search.html:325
+#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: users/models.py:42
+msgid "Purchase Orders"
+msgstr ""
+
+#: company/templates/company/notes.html:11
+msgid "Company Notes"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:18
+#: order/templates/order/purchase_orders.html:20
+msgid "Create new purchase order"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:19
+#: order/templates/order/purchase_orders.html:21
+msgid "New Purchase Order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:19
+#: order/templates/order/sales_orders.html:20
+msgid "Create new sales order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:20
+#: order/templates/order/sales_orders.html:21
+msgid "New Sales Order"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:7
+#: company/templates/company/supplier_part_base.html:20 stock/models.py:382
+#: stock/templates/stock/item_base.html:358 templates/js/company.js:279
+msgid "Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:40
+msgid "Edit supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:44
+msgid "Delete supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:56
+#: company/templates/company/supplier_part_detail.html:10
+msgid "Supplier Part Details"
+msgstr ""
+
+#: company/templates/company/supplier_part_delete.html:5
+msgid "Are you sure you want to delete the following Supplier Parts?"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:12
+#: company/templates/company/supplier_part_stock.html:10
+msgid "Supplier Part Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:19
+#: company/templates/company/supplier_part_orders.html:10
+msgid "Supplier Part Orders"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:26
+msgid "Supplier Part Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:29
+msgid "Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_orders.html:18
+#: part/templates/part/orders.html:18
+msgid "Order Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:11
+msgid "Pricing Information"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
+#: part/templates/part/sale_prices.html:17 part/views.py:2624
+msgid "Add Price Break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:38
+#: part/templates/part/sale_prices.html:46
+msgid "No price break information found"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:89
+#: part/templates/part/sale_prices.html:97
+msgid "Edit price break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:90
+#: part/templates/part/sale_prices.html:98
+msgid "Delete price break"
+msgstr ""
+
+#: company/views.py:70 part/templates/part/navbar.html:72
+#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: templates/navbar.html:36
+msgid "Manufacturers"
+msgstr ""
+
+#: company/views.py:77 templates/InvenTree/search.html:336
+#: templates/navbar.html:45
+msgid "Customers"
+msgstr ""
+
+#: company/views.py:78 order/templates/order/sales_orders.html:185
+msgid "New Customer"
+msgstr ""
+
+#: company/views.py:86
+msgid "Companies"
+msgstr ""
+
+#: company/views.py:87
+msgid "New Company"
+msgstr ""
+
+#: company/views.py:169 part/views.py:848
+msgid "Download Image"
+msgstr ""
+
+#: company/views.py:198 part/views.py:880
+msgid "Image size exceeds maximum allowable size for download"
+msgstr ""
+
+#: company/views.py:214 part/views.py:896
+msgid "Supplied URL is not a valid image file"
+msgstr ""
+
+#: company/views.py:243
+msgid "Update Company Image"
+msgstr ""
+
+#: company/views.py:249
+msgid "Updated company image"
+msgstr ""
+
+#: company/views.py:259
+msgid "Edit Company"
+msgstr ""
+
+#: company/views.py:264
+msgid "Edited company information"
+msgstr ""
+
+#: company/views.py:287 order/templates/order/sales_orders.html:186
+msgid "Create new Customer"
+msgstr ""
+
+#: company/views.py:289
+msgid "Create new Company"
+msgstr ""
+
+#: company/views.py:316
+msgid "Created new company"
+msgstr ""
+
+#: company/views.py:332
+msgid "Company was deleted"
+msgstr ""
+
+#: company/views.py:357
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: company/views.py:366
+msgid "Create New Manufacturer Part"
+msgstr ""
+
+#: company/views.py:440
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: company/views.py:528
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: company/views.py:578 templates/js/stock.js:1164
+msgid "Create new Supplier Part"
+msgstr ""
+
+#: company/views.py:722
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: company/views.py:799 part/views.py:2628
+msgid "Added new price break"
+msgstr ""
+
+#: company/views.py:855 part/views.py:2672
+msgid "Edit Price Break"
+msgstr ""
+
+#: company/views.py:870 part/views.py:2686
+msgid "Delete Price Break"
+msgstr ""
+
+#: label/api.py:56 report/api.py:201
+msgid "No valid objects provided to template"
+msgstr ""
+
+#: label/models.py:102
+msgid "Label name"
+msgstr ""
+
+#: label/models.py:109
+msgid "Label description"
+msgstr ""
+
+#: label/models.py:116 stock/forms.py:202
+msgid "Label"
+msgstr ""
+
+#: label/models.py:117
+msgid "Label template file"
+msgstr ""
+
+#: label/models.py:123 report/models.py:274
+msgid "Enabled"
+msgstr ""
+
+#: label/models.py:124
+msgid "Label template is enabled"
+msgstr ""
+
+#: label/models.py:129
+msgid "Width [mm]"
+msgstr ""
+
+#: label/models.py:130
+msgid "Label width, specified in mm"
+msgstr ""
+
+#: label/models.py:136
+msgid "Height [mm]"
+msgstr ""
+
+#: label/models.py:137
+msgid "Label height, specified in mm"
+msgstr ""
+
+#: label/models.py:222 label/models.py:275
+msgid "Query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: label/models.py:223 label/models.py:276 report/models.py:294
+#: report/models.py:415 report/models.py:449
+msgid "Filters"
+msgstr ""
+
+#: order/forms.py:27 order/templates/order/order_base.html:47
+msgid "Place order"
+msgstr ""
+
+#: order/forms.py:38 order/templates/order/order_base.html:54
+msgid "Mark order as complete"
+msgstr ""
+
+#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
+#: order/templates/order/sales_order_base.html:59
+msgid "Cancel order"
+msgstr ""
+
+#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+msgid "Ship order"
+msgstr ""
+
+#: order/forms.py:82
+msgid "Receive parts to this location"
+msgstr ""
+
+#: order/forms.py:103
+msgid "Purchase Order reference"
+msgstr ""
+
+#: order/forms.py:110
+msgid "Target date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:138
+msgid "Enter sales order number"
+msgstr ""
+
+#: order/forms.py:145 order/models.py:452
+msgid ""
+"Target date for order completion. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:235
+msgid "Enter stock item serial numbers"
+msgstr ""
+
+#: order/forms.py:241
+msgid "Enter quantity of stock items"
+msgstr ""
+
+#: order/models.py:99
+msgid "Order reference"
+msgstr ""
+
+#: order/models.py:101
+msgid "Order description"
+msgstr ""
+
+#: order/models.py:103
+msgid "Link to external page"
+msgstr ""
+
+#: order/models.py:111 part/templates/part/detail.html:132
+msgid "Created By"
+msgstr ""
+
+#: order/models.py:118
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:123
+msgid "Order notes"
+msgstr ""
+
+#: order/models.py:182 order/models.py:445
+msgid "Purchase order status"
+msgstr ""
+
+#: order/models.py:191
+msgid "Company from which the items are being ordered"
+msgstr ""
+
+#: order/models.py:194 order/templates/order/order_base.html:98
+#: templates/js/order.js:179
+msgid "Supplier Reference"
+msgstr ""
+
+#: order/models.py:194
+msgid "Supplier order reference code"
+msgstr ""
+
+#: order/models.py:201
+msgid "received by"
+msgstr ""
+
+#: order/models.py:206
+msgid "Issue Date"
+msgstr ""
+
+#: order/models.py:207
+msgid "Date order was issued"
+msgstr ""
+
+#: order/models.py:212
+msgid "Target Delivery Date"
+msgstr ""
+
+#: order/models.py:213
+msgid ""
+"Expected date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/models.py:219
+msgid "Date order was completed"
+msgstr ""
+
+#: order/models.py:243 order/models.py:342 part/views.py:1586
+#: stock/models.py:270 stock/models.py:953
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:248
+msgid "Part supplier must match PO supplier"
+msgstr ""
+
+#: order/models.py:337
+msgid "Lines can only be received against an order marked as 'Placed'"
+msgstr ""
+
+#: order/models.py:359
+msgid "Received items"
+msgstr ""
+
+#: order/models.py:441
+msgid "Company to which the items are being sold"
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer Reference "
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer order reference code"
+msgstr ""
+
+#: order/models.py:455 templates/js/order.js:303
+msgid "Shipment Date"
+msgstr ""
+
+#: order/models.py:462
+msgid "shipped by"
+msgstr ""
+
+#: order/models.py:506
+msgid "SalesOrder cannot be shipped as it is not currently pending"
+msgstr ""
+
+#: order/models.py:593
+msgid "Item quantity"
+msgstr ""
+
+#: order/models.py:595
+msgid "Line item reference"
+msgstr ""
+
+#: order/models.py:597
+msgid "Line item notes"
+msgstr ""
+
+#: order/models.py:623 order/models.py:667
+#: part/templates/part/allocation.html:17
+#: part/templates/part/allocation.html:45
+msgid "Order"
+msgstr ""
+
+#: order/models.py:624 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:24
+#: report/templates/report/inventree_po_report.html:77
+#: stock/templates/stock/item_base.html:313 templates/js/order.js:148
+msgid "Purchase Order"
+msgstr ""
+
+#: order/models.py:638
+msgid "Supplier part"
+msgstr ""
+
+#: order/models.py:641 order/templates/order/order_base.html:131
+#: order/templates/order/purchase_order_detail.html:214
+#: order/templates/order/receive_parts.html:22
+#: order/templates/order/sales_order_base.html:131
+msgid "Received"
+msgstr ""
+
+#: order/models.py:641
+msgid "Number of items received"
+msgstr ""
+
+#: order/models.py:648 stock/models.py:508
+#: stock/templates/stock/item_base.html:320
+msgid "Purchase Price"
+msgstr ""
+
+#: order/models.py:649
+msgid "Unit purchase price"
+msgstr ""
+
+#: order/models.py:743 order/models.py:745
+msgid "Stock item has not been assigned"
+msgstr ""
+
+#: order/models.py:749
+msgid "Cannot allocate stock item to a line with a different part"
+msgstr ""
+
+#: order/models.py:751
+msgid "Cannot allocate stock to a line without a part"
+msgstr ""
+
+#: order/models.py:754
+msgid "Allocation quantity cannot exceed stock quantity"
+msgstr ""
+
+#: order/models.py:764
+msgid "Quantity must be 1 for serialized stock item"
+msgstr ""
+
+#: order/models.py:769
+msgid "Line"
+msgstr ""
+
+#: order/models.py:780
+msgid "Item"
+msgstr ""
+
+#: order/models.py:781
+msgid "Select stock item to allocate"
+msgstr ""
+
+#: order/models.py:784
+msgid "Enter stock allocation quantity"
+msgstr ""
+
+#: order/templates/order/delete_attachment.html:5
+#: stock/templates/stock/attachment_delete.html:5
+#: templates/attachment_delete.html:5
+msgid "Are you sure you want to delete this attachment?"
+msgstr ""
+
+#: order/templates/order/order_base.html:39
+#: order/templates/order/sales_order_base.html:48
+msgid "Print"
+msgstr ""
+
+#: order/templates/order/order_base.html:43
+#: order/templates/order/sales_order_base.html:52
+msgid "Edit order information"
+msgstr ""
+
+#: order/templates/order/order_base.html:51
+msgid "Receive items"
+msgstr ""
+
+#: order/templates/order/order_base.html:64
+msgid "Export order to file"
+msgstr ""
+
+#: order/templates/order/order_base.html:72
+#: order/templates/order/po_navbar.html:11
+msgid "Purchase Order Details"
+msgstr ""
+
+#: order/templates/order/order_base.html:77
+#: order/templates/order/sales_order_base.html:77
+msgid "Order Reference"
+msgstr ""
+
+#: order/templates/order/order_base.html:82
+#: order/templates/order/sales_order_base.html:82
+msgid "Order Status"
+msgstr ""
+
+#: order/templates/order/order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:122
+msgid "Issued"
+msgstr ""
+
+#: order/templates/order/order_cancel.html:7
+#: order/templates/order/sales_order_cancel.html:9
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_complete.html:7
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: order/templates/order/order_complete.html:10
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: order/templates/order/order_complete.html:11
+msgid "Marking this order as complete will remove these line items."
+msgstr ""
+
+#: order/templates/order/order_issue.html:7
+msgid ""
+"After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_notes.html:13
+msgid "Order Notes"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:9
+msgid "Step 1 of 2 - Select Part Suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:14
+msgid "Select suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:18
+msgid "No purchaseable parts selected"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:31
+msgid "Select Supplier"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:57
+#, python-format
+msgid "Select a supplier for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:69
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:8
+msgid "Step 2 of 2 - Select Purchase Orders"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:12
+msgid "Select existing purchase orders, or create new orders."
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:31
+#: templates/js/order.js:205 templates/js/order.js:308
+msgid "Items"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:32
+msgid "Select Purchase Order"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:45
+#, python-format
+msgid "Create new purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:68
+#, python-format
+msgid "Select a purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/po_attachments.html:12
+#: order/templates/order/po_navbar.html:23
+msgid "Purchase Order Attachments"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:17
+msgid "Received Stock Items"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:20
+#: order/templates/order/po_received_items.html:12
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:14
+msgid "Purchase Order Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:22 order/views.py:1108
+#: order/views.py:1191
+msgid "Add Line Item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:45
+#: order/templates/order/purchase_order_detail.html:125
+#: part/templates/part/category.html:185 part/templates/part/category.html:227
+#: stock/templates/stock/location.html:191 templates/js/stock.js:708
+#: templates/js/stock.js:1169
+msgid "New Location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:46
+#: order/templates/order/purchase_order_detail.html:126
+#: stock/templates/stock/location.html:42
+msgid "Create new stock location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:139
+msgid "No line items found"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:205
+msgid "Unit Price"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:246
+#: order/templates/order/sales_order_detail.html:294
+msgid "Edit line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:247
+msgid "Delete line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:252
+msgid "Receive line item"
+msgstr ""
+
+#: order/templates/order/purchase_orders.html:24
+#: order/templates/order/sales_orders.html:24
+msgid "Print Order Reports"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:8
+#, python-format
+msgid "Receive outstanding parts for %(order)s - %(desc)s"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: part/models.py:322 part/templates/part/cat_link.html:7
+#: part/templates/part/category.html:99
+#: part/templates/part/category_navbar.html:22
+#: part/templates/part/category_navbar.html:29
+#: part/templates/part/category_partlist.html:10
+#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
+#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/navbar.html:23 templates/stats.html:59 templates/stats.html:68
+#: users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:15
+msgid "Select parts to receive against this order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:20
+msgid "Order Code"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:21
+#: part/templates/part/part_base.html:129 templates/js/part.js:414
+msgid "On Order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:23
+msgid "Receive"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:36
+msgid "Error: Referenced part has been removed"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:57
+msgid "Remove line"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:15
+msgid "This SalesOrder has not been fully allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:64
+msgid "Packing List"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/so_navbar.html:12
+msgid "Sales Order Details"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+msgid "Customer Reference"
+msgstr ""
+
+#: order/templates/order/sales_order_cancel.html:8
+#: order/templates/order/sales_order_ship.html:9
+#: part/templates/part/bom_duplicate.html:12
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:13
+msgid "Sales Order Items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342
+#: templates/js/build.js:627 templates/js/build.js:1044
+msgid "Actions"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515
+#: templates/js/build.js:849
+msgid "Edit stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517
+#: templates/js/build.js:850
+msgid "Delete stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:170
+msgid "No matching line items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:199
+msgid "ID"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579
+#: templates/js/build.js:845
+msgid "Allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:231
+msgid "Fulfilled"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:279
+msgid "Allocate serial numbers"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641
+msgid "Allocate stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:285
+msgid "Purchase stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634
+#: templates/js/build.js:1052
+msgid "Build stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:295
+msgid "Delete line item "
+msgstr ""
+
+#: order/templates/order/sales_order_notes.html:14
+msgid "Sales Order Notes"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:10
+msgid ""
+"This order has not been fully allocated. If the order is marked as shipped, "
+"it can no longer be adjusted."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:12
+msgid "Ensure that the order allocation is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:18
+msgid "Some line items in this order have been over-allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:20
+msgid "Ensure that this is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:27
+msgid "Shipping this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/so_allocate_by_serial.html:9
+msgid "Allocate stock items by serial number"
+msgstr ""
+
+#: order/templates/order/so_allocation_delete.html:7
+msgid "This action will unallocate the following stock from the Sales Order"
+msgstr ""
+
+#: order/templates/order/so_attachments.html:12
+#: order/templates/order/so_navbar.html:26
+msgid "Sales Order Attachments"
+msgstr ""
+
+#: order/templates/order/so_lineitem_delete.html:5
+msgid "Are you sure you wish to delete this line item?"
+msgstr ""
+
+#: order/views.py:99
+msgid "Add Purchase Order Attachment"
+msgstr ""
+
+#: order/views.py:149
+msgid "Add Sales Order Attachment"
+msgstr ""
+
+#: order/views.py:341
+msgid "Create Sales Order"
+msgstr ""
+
+#: order/views.py:376
+msgid "Edit Purchase Order"
+msgstr ""
+
+#: order/views.py:396
+msgid "Edit Sales Order"
+msgstr ""
+
+#: order/views.py:412
+msgid "Cancel Order"
+msgstr ""
+
+#: order/views.py:421 order/views.py:447
+msgid "Confirm order cancellation"
+msgstr ""
+
+#: order/views.py:424 order/views.py:450
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/views.py:438
+msgid "Cancel sales order"
+msgstr ""
+
+#: order/views.py:464
+msgid "Issue Order"
+msgstr ""
+
+#: order/views.py:473
+msgid "Confirm order placement"
+msgstr ""
+
+#: order/views.py:483
+msgid "Purchase order issued"
+msgstr ""
+
+#: order/views.py:494
+msgid "Complete Order"
+msgstr ""
+
+#: order/views.py:510
+msgid "Confirm order completion"
+msgstr ""
+
+#: order/views.py:521
+msgid "Purchase order completed"
+msgstr ""
+
+#: order/views.py:531
+msgid "Ship Order"
+msgstr ""
+
+#: order/views.py:547
+msgid "Confirm order shipment"
+msgstr ""
+
+#: order/views.py:553
+msgid "Could not ship order"
+msgstr ""
+
+#: order/views.py:607
+msgid "Receive Parts"
+msgstr ""
+
+#: order/views.py:677
+msgid "Items received"
+msgstr ""
+
+#: order/views.py:691
+msgid "No destination set"
+msgstr ""
+
+#: order/views.py:736
+msgid "Error converting quantity to number"
+msgstr ""
+
+#: order/views.py:742
+msgid "Receive quantity less than zero"
+msgstr ""
+
+#: order/views.py:748
+msgid "No lines specified"
+msgstr ""
+
+#: order/views.py:1060
+#, python-brace-format
+msgid "Ordered {n} parts"
+msgstr ""
+
+#: order/views.py:1117
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/views.py:1123
+msgid "Supplier must match for Part and Order"
+msgstr ""
+
+#: order/views.py:1242 order/views.py:1260
+msgid "Edit Line Item"
+msgstr ""
+
+#: order/views.py:1276 order/views.py:1288
+msgid "Delete Line Item"
+msgstr ""
+
+#: order/views.py:1281 order/views.py:1293
+msgid "Deleted line item"
+msgstr ""
+
+#: order/views.py:1306
+msgid "Allocate Serial Numbers"
+msgstr ""
+
+#: order/views.py:1351
+#, python-brace-format
+msgid "Allocated {n} items"
+msgstr ""
+
+#: order/views.py:1367
+msgid "Select line item"
+msgstr ""
+
+#: order/views.py:1398
+msgid "No matching item for serial"
+msgstr ""
+
+#: order/views.py:1408
+msgid "is not in stock"
+msgstr ""
+
+#: order/views.py:1416
+msgid "already allocated to an order"
+msgstr ""
+
+#: order/views.py:1470
+msgid "Allocate Stock to Order"
+msgstr ""
+
+#: order/views.py:1544
+msgid "Edit Allocation Quantity"
+msgstr ""
+
+#: order/views.py:1559
+msgid "Remove allocation"
+msgstr ""
+
+#: part/bom.py:138 part/models.py:72 part/models.py:762
+#: part/templates/part/category.html:66 part/templates/part/detail.html:90
+msgid "Default Location"
+msgstr ""
+
+#: part/bom.py:139 part/templates/part/part_base.html:117
+msgid "Available Stock"
+msgstr ""
+
+#: part/bom.py:379
+#, python-brace-format
+msgid "Unsupported file format: {f}"
+msgstr ""
+
+#: part/bom.py:384
+msgid "Error reading BOM file (invalid data)"
+msgstr ""
+
+#: part/bom.py:386
+msgid "Error reading BOM file (incorrect row size)"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "File Format"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "Select output file format"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Cascading"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Download cascading / multi-level BOM"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Levels"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Select maximum number of BOM levels to export (0 = all levels)"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include Parameter Data"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include part parameters data in exported BOM"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include Stock Data"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include part stock data in exported BOM"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include Manufacturer Data"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include part manufacturer data in exported BOM"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include Supplier Data"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include part supplier data in exported BOM"
+msgstr ""
+
+#: part/forms.py:122 part/models.py:2077
+msgid "Parent Part"
+msgstr ""
+
+#: part/forms.py:123 part/templates/part/bom_duplicate.html:7
+msgid "Select parent part to copy BOM from"
+msgstr ""
+
+#: part/forms.py:129
+msgid "Clear existing BOM items"
+msgstr ""
+
+#: part/forms.py:135
+msgid "Confirm BOM duplication"
+msgstr ""
+
+#: part/forms.py:153
+msgid "validate"
+msgstr ""
+
+#: part/forms.py:153
+msgid "Confirm that the BOM is correct"
+msgstr ""
+
+#: part/forms.py:165
+msgid "BOM file"
+msgstr ""
+
+#: part/forms.py:165
+msgid "Select BOM file to upload"
+msgstr ""
+
+#: part/forms.py:184
+msgid "Related Part"
+msgstr ""
+
+#: part/forms.py:203
+msgid "Select part category"
+msgstr ""
+
+#: part/forms.py:220
+msgid "Duplicate all BOM data for this part"
+msgstr ""
+
+#: part/forms.py:221
+msgid "Copy BOM"
+msgstr ""
+
+#: part/forms.py:226
+msgid "Duplicate all parameter data for this part"
+msgstr ""
+
+#: part/forms.py:227
+msgid "Copy Parameters"
+msgstr ""
+
+#: part/forms.py:232
+msgid "Confirm part creation"
+msgstr ""
+
+#: part/forms.py:237
+msgid "Include category parameter templates"
+msgstr ""
+
+#: part/forms.py:242
+msgid "Include parent categories parameter templates"
+msgstr ""
+
+#: part/forms.py:322
+msgid "Add parameter template to same level categories"
+msgstr ""
+
+#: part/forms.py:326
+msgid "Add parameter template to all categories"
+msgstr ""
+
+#: part/forms.py:344 part/models.py:2171
+msgid "Sub part"
+msgstr ""
+
+#: part/forms.py:372
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:73
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:82 part/models.py:2123
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr ""
+
+#: part/models.py:83 part/templates/part/category.html:23
+#: part/templates/part/category.html:94 part/templates/part/category.html:141
+#: templates/InvenTree/search.html:127 templates/stats.html:63
+#: users/models.py:37
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:446 part/models.py:458
+#, python-brace-format
+msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
+msgstr ""
+
+#: part/models.py:555
+msgid "Next available serial numbers are"
+msgstr ""
+
+#: part/models.py:559
+msgid "Next available serial number is"
+msgstr ""
+
+#: part/models.py:564
+msgid "Most recent serial number is"
+msgstr ""
+
+#: part/models.py:643
+msgid "Duplicate IPN not allowed in part settings"
+msgstr ""
+
+#: part/models.py:654
+msgid "Part must be unique for name, IPN and revision"
+msgstr ""
+
+#: part/models.py:685 part/templates/part/detail.html:22
+msgid "Part name"
+msgstr ""
+
+#: part/models.py:692
+msgid "Is Template"
+msgstr ""
+
+#: part/models.py:693
+msgid "Is this part a template part?"
+msgstr ""
+
+#: part/models.py:704
+msgid "Is this part a variant of another part?"
+msgstr ""
+
+#: part/models.py:705 part/templates/part/detail.html:60
+msgid "Variant Of"
+msgstr ""
+
+#: part/models.py:711
+msgid "Part description"
+msgstr ""
+
+#: part/models.py:716 part/templates/part/category.html:73
+#: part/templates/part/detail.html:67
+msgid "Keywords"
+msgstr ""
+
+#: part/models.py:717
+msgid "Part keywords to improve visibility in search results"
+msgstr ""
+
+#: part/models.py:724 part/models.py:2122 part/templates/part/detail.html:73
+#: part/templates/part/set_category.html:15 templates/js/part.js:385
+msgid "Category"
+msgstr ""
+
+#: part/models.py:725
+msgid "Part category"
+msgstr ""
+
+#: part/models.py:730 part/templates/part/detail.html:28
+#: part/templates/part/part_base.html:94 templates/js/part.js:161
+msgid "IPN"
+msgstr ""
+
+#: part/models.py:731
+msgid "Internal Part Number"
+msgstr ""
+
+#: part/models.py:737
+msgid "Part revision or version number"
+msgstr ""
+
+#: part/models.py:738 part/templates/part/detail.html:35 report/models.py:198
+#: templates/js/part.js:165
+msgid "Revision"
+msgstr ""
+
+#: part/models.py:760
+msgid "Where is this item normally stored?"
+msgstr ""
+
+#: part/models.py:807 part/templates/part/detail.html:97
+msgid "Default Supplier"
+msgstr ""
+
+#: part/models.py:808
+msgid "Default supplier part"
+msgstr ""
+
+#: part/models.py:815
+msgid "Default Expiry"
+msgstr ""
+
+#: part/models.py:816
+msgid "Expiry time (in days) for stock items of this part"
+msgstr ""
+
+#: part/models.py:821 part/templates/part/detail.html:113
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/models.py:822
+msgid "Minimum allowed stock level"
+msgstr ""
+
+#: part/models.py:828 part/models.py:2051 part/templates/part/detail.html:106
+#: part/templates/part/params.html:29
+msgid "Units"
+msgstr ""
+
+#: part/models.py:829
+msgid "Stock keeping units for this part"
+msgstr ""
+
+#: part/models.py:835
+msgid "Can this part be built from other parts?"
+msgstr ""
+
+#: part/models.py:841
+msgid "Can this part be used to build other parts?"
+msgstr ""
+
+#: part/models.py:847
+msgid "Does this part have tracking for unique items?"
+msgstr ""
+
+#: part/models.py:852
+msgid "Can this part be purchased from external suppliers?"
+msgstr ""
+
+#: part/models.py:857
+msgid "Can this part be sold to customers?"
+msgstr ""
+
+#: part/models.py:861 part/templates/part/detail.html:227
+#: templates/js/table_filters.js:20 templates/js/table_filters.js:60
+#: templates/js/table_filters.js:236 templates/js/table_filters.js:305
+msgid "Active"
+msgstr ""
+
+#: part/models.py:862
+msgid "Is this part active?"
+msgstr ""
+
+#: part/models.py:867
+msgid "Is this a virtual part, such as a software product or license?"
+msgstr ""
+
+#: part/models.py:872
+msgid "Part notes - supports Markdown formatting"
+msgstr ""
+
+#: part/models.py:875
+msgid "BOM checksum"
+msgstr ""
+
+#: part/models.py:875
+msgid "Stored BOM checksum"
+msgstr ""
+
+#: part/models.py:878
+msgid "BOM checked by"
+msgstr ""
+
+#: part/models.py:880
+msgid "BOM checked date"
+msgstr ""
+
+#: part/models.py:884
+msgid "Creation User"
+msgstr ""
+
+#: part/models.py:1949
+msgid "Test templates can only be created for trackable parts"
+msgstr ""
+
+#: part/models.py:1966
+msgid "Test with this name already exists for this part"
+msgstr ""
+
+#: part/models.py:1986 templates/js/part.js:638 templates/js/stock.js:104
+msgid "Test Name"
+msgstr ""
+
+#: part/models.py:1987
+msgid "Enter a name for the test"
+msgstr ""
+
+#: part/models.py:1992
+msgid "Test Description"
+msgstr ""
+
+#: part/models.py:1993
+msgid "Enter description for this test"
+msgstr ""
+
+#: part/models.py:1998 templates/js/part.js:647
+#: templates/js/table_filters.js:222
+msgid "Required"
+msgstr ""
+
+#: part/models.py:1999
+msgid "Is this test required to pass?"
+msgstr ""
+
+#: part/models.py:2004 templates/js/part.js:655
+msgid "Requires Value"
+msgstr ""
+
+#: part/models.py:2005
+msgid "Does this test require a value when adding a test result?"
+msgstr ""
+
+#: part/models.py:2010 templates/js/part.js:662
+msgid "Requires Attachment"
+msgstr ""
+
+#: part/models.py:2011
+msgid "Does this test require a file attachment when adding a test result?"
+msgstr ""
+
+#: part/models.py:2044
+msgid "Parameter template name must be unique"
+msgstr ""
+
+#: part/models.py:2049
+msgid "Parameter Name"
+msgstr ""
+
+#: part/models.py:2051
+msgid "Parameter Units"
+msgstr ""
+
+#: part/models.py:2079 part/models.py:2128 part/models.py:2129
+#: templates/InvenTree/settings/category.html:62
+msgid "Parameter Template"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Data"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Parameter Value"
+msgstr ""
+
+#: part/models.py:2133 templates/InvenTree/settings/category.html:67
+msgid "Default Value"
+msgstr ""
+
+#: part/models.py:2134
+msgid "Default Parameter Value"
+msgstr ""
+
+#: part/models.py:2163
+msgid "Select parent part"
+msgstr ""
+
+#: part/models.py:2172
+msgid "Select part to be used in BOM"
+msgstr ""
+
+#: part/models.py:2178
+msgid "BOM quantity for this BOM item"
+msgstr ""
+
+#: part/models.py:2180 templates/js/bom.js:216 templates/js/bom.js:269
+msgid "Optional"
+msgstr ""
+
+#: part/models.py:2180
+msgid "This BOM item is optional"
+msgstr ""
+
+#: part/models.py:2183
+msgid "Overage"
+msgstr ""
+
+#: part/models.py:2184
+msgid "Estimated build wastage quantity (absolute or percentage)"
+msgstr ""
+
+#: part/models.py:2187
+msgid "BOM item reference"
+msgstr ""
+
+#: part/models.py:2190
+msgid "BOM item notes"
+msgstr ""
+
+#: part/models.py:2192
+msgid "Checksum"
+msgstr ""
+
+#: part/models.py:2192
+msgid "BOM line checksum"
+msgstr ""
+
+#: part/models.py:2196 templates/js/bom.js:279 templates/js/bom.js:286
+#: templates/js/table_filters.js:50
+msgid "Inherited"
+msgstr ""
+
+#: part/models.py:2197
+msgid "This BOM item is inherited by BOMs for variant parts"
+msgstr ""
+
+#: part/models.py:2273 part/views.py:1592 part/views.py:1644
+#: stock/models.py:260
+msgid "Quantity must be integer value for trackable parts"
+msgstr ""
+
+#: part/models.py:2282 part/models.py:2284
+msgid "Sub part must be specified"
+msgstr ""
+
+#: part/models.py:2287
+msgid "BOM Item"
+msgstr ""
+
+#: part/models.py:2404
+msgid "Part 1"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Part 2"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Select Related Part"
+msgstr ""
+
+#: part/models.py:2440
+msgid ""
+"Error creating relationship: check that the part is not related to itself "
+"and that the relationship is unique"
+msgstr ""
+
+#: part/templates/part/allocation.html:11
+msgid "Part Stock Allocations"
+msgstr ""
+
+#: part/templates/part/attachments.html:10
+msgid "Part Attachments"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:6
+msgid "Are you sure you want to delete this BOM item?"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:8
+msgid "Deleting this entry will remove the BOM row from the following part"
+msgstr ""
+
+#: part/templates/part/bom.html:10 part/templates/part/navbar.html:48
+#: part/templates/part/navbar.html:51
+msgid "Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:19
+#, python-format
+msgid "The BOM for %(part)s has changed, and must be validated.
"
+msgstr ""
+
+#: part/templates/part/bom.html:21
+#, python-format
+msgid ""
+"The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
+msgstr ""
+
+#: part/templates/part/bom.html:25
+#, python-format
+msgid "The BOM for %(part)s has not been validated."
+msgstr ""
+
+#: part/templates/part/bom.html:32
+msgid "Remove selected BOM items"
+msgstr ""
+
+#: part/templates/part/bom.html:35
+msgid "Import BOM data"
+msgstr ""
+
+#: part/templates/part/bom.html:39
+msgid "Copy BOM from parent part"
+msgstr ""
+
+#: part/templates/part/bom.html:43
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/bom.html:46
+msgid "Finish Editing"
+msgstr ""
+
+#: part/templates/part/bom.html:51
+msgid "Edit BOM"
+msgstr ""
+
+#: part/templates/part/bom.html:55
+msgid "Validate Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:61 part/views.py:1887
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:64
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/bom.html:109
+msgid "Delete selected BOM items?"
+msgstr ""
+
+#: part/templates/part/bom.html:110
+msgid "All selected BOM items will be deleted"
+msgstr ""
+
+#: part/templates/part/bom.html:160 part/views.py:584
+#: templates/js/stock.js:1158
+msgid "Create New Part"
+msgstr ""
+
+#: part/templates/part/bom_duplicate.html:13
+msgid "This part already has a Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:11
+#: part/templates/part/bom_upload/select_parts.html:11
+#: part/templates/part/bom_upload/upload_file.html:11
+msgid "Upload Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:16
+msgid "Step 2 - Select Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:21
+msgid "Missing selections for the following required columns"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:32
+msgid "Submit Selections"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:41
+msgid "File Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:47
+msgid "Remove column"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:58
+msgid "Match Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:68
+msgid "Duplicate column selection"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:76
+#: part/templates/part/bom_upload/select_parts.html:58
+msgid "Remove row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:16
+msgid "Step 3 - Select Parts"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:21
+msgid "Errors exist in the submitted data"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:27
+msgid "Submit BOM"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:39
+msgid "Row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:40
+#: part/templates/part/bom_upload/select_parts.html:69
+msgid "Select Part"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:65
+#: part/templates/part/category.html:117
+msgid "Create new part"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:16
+msgid "Step 1 - Select BOM File"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:19
+msgid "Requirements for BOM upload"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid ""
+"The BOM file must contain the required named columns as provided in the "
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid "BOM Upload Template"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:22
+msgid "Each part must already exist in the database"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:27
+msgid "Upload File"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:6
+#, python-format
+msgid ""
+"Confirm that the Bill of Materials (BOM) is valid for:
%(part)s"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:9
+msgid "This will validate each line in the BOM."
+msgstr ""
+
+#: part/templates/part/build.html:10
+msgid "Part Builds"
+msgstr ""
+
+#: part/templates/part/build.html:18
+msgid "Start New Build"
+msgstr ""
+
+#: part/templates/part/category.html:24
+msgid "All parts"
+msgstr ""
+
+#: part/templates/part/category.html:29 part/views.py:2270
+msgid "Create new part category"
+msgstr ""
+
+#: part/templates/part/category.html:35
+msgid "Edit part category"
+msgstr ""
+
+#: part/templates/part/category.html:40
+msgid "Delete part category"
+msgstr ""
+
+#: part/templates/part/category.html:50 part/templates/part/category.html:89
+msgid "Category Details"
+msgstr ""
+
+#: part/templates/part/category.html:55
+msgid "Category Path"
+msgstr ""
+
+#: part/templates/part/category.html:60
+msgid "Category Description"
+msgstr ""
+
+#: part/templates/part/category.html:79
+#: part/templates/part/category_navbar.html:11
+#: part/templates/part/category_navbar.html:18
+#: part/templates/part/subcategory.html:16
+msgid "Subcategories"
+msgstr ""
+
+#: part/templates/part/category.html:84
+msgid "Parts (Including subcategories)"
+msgstr ""
+
+#: part/templates/part/category.html:113
+msgid "Export Part Data"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set category"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set Category"
+msgstr ""
+
+#: part/templates/part/category.html:128
+msgid "Export Data"
+msgstr ""
+
+#: part/templates/part/category.html:186
+#: stock/templates/stock/location.html:192 templates/js/stock.js:709
+msgid "Create new location"
+msgstr ""
+
+#: part/templates/part/category.html:191 part/templates/part/category.html:221
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:192
+msgid "Create new category"
+msgstr ""
+
+#: part/templates/part/category.html:222
+msgid "Create new Part Category"
+msgstr ""
+
+#: part/templates/part/category.html:228 stock/views.py:1359
+msgid "Create new Stock Location"
+msgstr ""
+
+#: part/templates/part/category_delete.html:5
+msgid "Are you sure you want to delete category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:8
+#, python-format
+msgid "This category contains %(count)s child categories"
+msgstr ""
+
+#: part/templates/part/category_delete.html:9
+msgid ""
+"If this category is deleted, these child categories will be moved to the"
+msgstr ""
+
+#: part/templates/part/category_delete.html:11
+msgid "category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:13
+msgid "top level Parts category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:25
+#, python-format
+msgid "This category contains %(count)s parts"
+msgstr ""
+
+#: part/templates/part/category_delete.html:27
+#, python-format
+msgid ""
+"If this category is deleted, these parts will be moved to the parent "
+"category %(path)s"
+msgstr ""
+
+#: part/templates/part/category_delete.html:29
+msgid ""
+"If this category is deleted, these parts will be moved to the top-level "
+"category Teile"
+msgstr ""
+
+#: part/templates/part/category_navbar.html:34
+#: part/templates/part/category_navbar.html:37
+#: part/templates/part/navbar.html:22
+msgid "Parameters"
+msgstr ""
+
+#: part/templates/part/category_parametric.html:10
+#: part/templates/part/navbar.html:19 part/templates/part/params.html:10
+msgid "Part Parameters"
+msgstr ""
+
+#: part/templates/part/copy_part.html:9 part/views.py:460
+msgid "Duplicate Part"
+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 - %(desc)s (%(match_per)s%% match)"
+msgstr ""
+
+#: part/templates/part/detail.html:11 part/templates/part/navbar.html:11
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:42
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:47
+msgid "No serial numbers recorded"
+msgstr ""
+
+#: part/templates/part/detail.html:120
+msgid "Stock Expiry Time"
+msgstr ""
+
+#: part/templates/part/detail.html:139
+msgid "Responsible User"
+msgstr ""
+
+#: part/templates/part/detail.html:153
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/detail.html:155
+msgid "Part is not a virtual part"
+msgstr ""
+
+#: part/templates/part/detail.html:163
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/detail.html:165
+msgid "Part is not a template part"
+msgstr ""
+
+#: part/templates/part/detail.html:173
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:175
+msgid "Part cannot be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:183
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:185
+msgid "Part cannot be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:193
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:195
+msgid "Part stock is not tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:203 part/templates/part/detail.html:205
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/detail.html:213
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:215
+msgid "Part cannot be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:230
+msgid "Part is active"
+msgstr ""
+
+#: part/templates/part/detail.html:232
+msgid "Part is not active"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:11
+msgid "Part Manufacturers"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:24
+msgid "Delete manufacturer parts"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:53
+#: part/templates/part/supplier.html:57
+msgid "Create new manufacturer"
+msgstr ""
+
+#: part/templates/part/navbar.html:26 part/templates/part/variants.html:11
+msgid "Part Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:29
+msgid "Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:40
+msgid "Allocated Stock"
+msgstr ""
+
+#: part/templates/part/navbar.html:43
+msgid "Allocations"
+msgstr ""
+
+#: part/templates/part/navbar.html:64 part/templates/part/navbar.html:67
+msgid "Used In"
+msgstr ""
+
+#: part/templates/part/navbar.html:92
+msgid "Sales Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:95
+msgid "Sale Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+msgid "Part Test Templates"
+msgstr ""
+
+#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:398
+msgid "Tests"
+msgstr ""
+
+#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/related.html:10
+msgid "Related Parts"
+msgstr ""
+
+#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+msgid "Part Notes"
+msgstr ""
+
+#: part/templates/part/params.html:17
+msgid "Add new parameter"
+msgstr ""
+
+#: part/templates/part/params.html:18
+#: templates/InvenTree/settings/category.html:29
+#: templates/InvenTree/settings/part.html:44
+msgid "New Parameter"
+msgstr ""
+
+#: part/templates/part/params.html:28
+#: report/templates/report/inventree_test_report_base.html:90
+#: stock/models.py:1655 templates/InvenTree/settings/header.html:8
+#: templates/js/stock.js:124
+msgid "Value"
+msgstr ""
+
+#: part/templates/part/params.html:41 templates/InvenTree/settings/user.html:19
+msgid "Edit"
+msgstr ""
+
+#: part/templates/part/params.html:68
+msgid "New Template"
+msgstr ""
+
+#: part/templates/part/params.html:69
+msgid "Create New Parameter Template"
+msgstr ""
+
+#: part/templates/part/part_app_base.html:12
+msgid "Part List"
+msgstr ""
+
+#: part/templates/part/part_base.html:18
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:40
+msgid "Star this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:47
+#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/location.html:51
+msgid "Barcode actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:49
+#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+msgid "Show QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:50
+#: stock/templates/stock/item_base.html:149
+#: stock/templates/stock/location.html:54
+msgid "Print Label"
+msgstr ""
+
+#: part/templates/part/part_base.html:55
+msgid "Show pricing information"
+msgstr ""
+
+#: part/templates/part/part_base.html:59
+msgid "Count part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:74
+msgid "Part actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:77
+msgid "Duplicate part"
+msgstr ""
+
+#: part/templates/part/part_base.html:80
+msgid "Edit part"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
+msgid "Delete part"
+msgstr ""
+
+#: part/templates/part/part_base.html:123 templates/js/table_filters.js:156
+msgid "In Stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+msgid "Required for Build Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:143
+msgid "Required for Sales Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:150
+msgid "Allocated to Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+msgid "Can Build"
+msgstr ""
+
+#: part/templates/part/part_base.html:171 templates/js/part.js:418
+msgid "Building"
+msgstr ""
+
+#: part/templates/part/part_base.html:250
+msgid "Calculate"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:8
+#, python-format
+msgid "Pricing information for:
%(part)s."
+msgstr ""
+
+#: part/templates/part/part_pricing.html:23
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:27
+#: part/templates/part/part_pricing.html:53
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:33
+#: part/templates/part/part_pricing.html:59
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:41
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:49
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:67
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:74
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:84
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/part_tests.html:17
+msgid "Add Test Template"
+msgstr ""
+
+#: part/templates/part/part_thumb.html:20
+msgid "Select from existing images"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:7
+#, python-format
+msgid "Are you sure you want to delete part '%(full_name)s'?"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:12
+#, python-format
+msgid ""
+"This part is used in BOMs for %(count)s other parts. If you delete this "
+"part, the BOMs for the following parts will be updated"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:22
+#, python-format
+msgid ""
+"There are %(count)s stock entries defined for this part. If you delete this "
+"part, the following stock entries will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:33
+#, python-format
+msgid ""
+"There are %(count)s manufacturers defined for this part. If you delete this "
+"part, the following manufacturer parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:44
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this part. If you delete this "
+"part, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:55
+#, python-format
+msgid ""
+"There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this "
+"part will permanently remove this tracking information."
+msgstr ""
+
+#: part/templates/part/related.html:18
+msgid "Add Related"
+msgstr ""
+
+#: part/templates/part/sale_prices.html:10
+msgid "Sell Price Information"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New sales order"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New Order"
+msgstr ""
+
+#: part/templates/part/set_category.html:9
+msgid "Set category for the following parts"
+msgstr ""
+
+#: part/templates/part/stock.html:10
+msgid "Part Stock"
+msgstr ""
+
+#: part/templates/part/stock.html:16
+#, python-format
+msgid "Showing stock for all variants of %(full_name)s"
+msgstr ""
+
+#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
+#: templates/js/part.js:422
+msgid "No Stock"
+msgstr ""
+
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:130
+msgid "Low Stock"
+msgstr ""
+
+#: part/templates/part/supplier.html:10
+msgid "Part Suppliers"
+msgstr ""
+
+#: part/templates/part/track.html:10
+msgid "Part Tracking"
+msgstr ""
+
+#: part/templates/part/used_in.html:9
+msgid "Assemblies"
+msgstr ""
+
+#: part/templates/part/variant_part.html:9
+msgid "Create new part variant"
+msgstr ""
+
+#: part/templates/part/variant_part.html:10
+#, python-format
+msgid "Create a new variant of template '%(full_name)s'."
+msgstr ""
+
+#: part/templates/part/variants.html:19
+msgid "Create new variant"
+msgstr ""
+
+#: part/templates/part/variants.html:20
+msgid "New Variant"
+msgstr ""
+
+#: part/views.py:89
+msgid "Add Related Part"
+msgstr ""
+
+#: part/views.py:144
+msgid "Delete Related Part"
+msgstr ""
+
+#: part/views.py:158
+msgid "Add part attachment"
+msgstr ""
+
+#: part/views.py:211 templates/attachment_table.html:32
+msgid "Edit attachment"
+msgstr ""
+
+#: part/views.py:215
+msgid "Part attachment updated"
+msgstr ""
+
+#: part/views.py:230
+msgid "Delete Part Attachment"
+msgstr ""
+
+#: part/views.py:238
+msgid "Deleted part attachment"
+msgstr ""
+
+#: part/views.py:247
+msgid "Create Test Template"
+msgstr ""
+
+#: part/views.py:274
+msgid "Edit Test Template"
+msgstr ""
+
+#: part/views.py:288
+msgid "Delete Test Template"
+msgstr ""
+
+#: part/views.py:295
+msgid "Set Part Category"
+msgstr ""
+
+#: part/views.py:345
+#, python-brace-format
+msgid "Set category for {n} parts"
+msgstr ""
+
+#: part/views.py:380
+msgid "Create Variant"
+msgstr ""
+
+#: part/views.py:465
+msgid "Copied part"
+msgstr ""
+
+#: part/views.py:519 part/views.py:657
+msgid "Possible matches exist - confirm creation of new part"
+msgstr ""
+
+#: part/views.py:589
+msgid "Created new part"
+msgstr ""
+
+#: part/views.py:825
+msgid "Part QR Code"
+msgstr ""
+
+#: part/views.py:927
+msgid "Upload Part Image"
+msgstr ""
+
+#: part/views.py:933 part/views.py:968
+msgid "Updated part image"
+msgstr ""
+
+#: part/views.py:942
+msgid "Select Part Image"
+msgstr ""
+
+#: part/views.py:971
+msgid "Part image not found"
+msgstr ""
+
+#: part/views.py:982
+msgid "Edit Part Properties"
+msgstr ""
+
+#: part/views.py:1017
+msgid "Duplicate BOM"
+msgstr ""
+
+#: part/views.py:1047
+msgid "Confirm duplication of BOM from parent"
+msgstr ""
+
+#: part/views.py:1068
+msgid "Validate BOM"
+msgstr ""
+
+#: part/views.py:1089
+msgid "Confirm that the BOM is valid"
+msgstr ""
+
+#: part/views.py:1100
+msgid "Validated Bill of Materials"
+msgstr ""
+
+#: part/views.py:1234
+msgid "No BOM file provided"
+msgstr ""
+
+#: part/views.py:1595
+msgid "Enter a valid quantity"
+msgstr ""
+
+#: part/views.py:1620 part/views.py:1623
+msgid "Select valid part"
+msgstr ""
+
+#: part/views.py:1629
+msgid "Duplicate part selected"
+msgstr ""
+
+#: part/views.py:1667
+msgid "Select a part"
+msgstr ""
+
+#: part/views.py:1673
+msgid "Selected part creates a circular BOM"
+msgstr ""
+
+#: part/views.py:1677
+msgid "Specify quantity"
+msgstr ""
+
+#: part/views.py:1939
+msgid "Confirm Part Deletion"
+msgstr ""
+
+#: part/views.py:1946
+msgid "Part was deleted"
+msgstr ""
+
+#: part/views.py:1955
+msgid "Part Pricing"
+msgstr ""
+
+#: part/views.py:2069
+msgid "Create Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2079
+msgid "Edit Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2086
+msgid "Delete Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2094
+msgid "Create Part Parameter"
+msgstr ""
+
+#: part/views.py:2144
+msgid "Edit Part Parameter"
+msgstr ""
+
+#: part/views.py:2158
+msgid "Delete Part Parameter"
+msgstr ""
+
+#: part/views.py:2218
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:2256
+msgid "Delete Part Category"
+msgstr ""
+
+#: part/views.py:2262
+msgid "Part category was deleted"
+msgstr ""
+
+#: part/views.py:2314
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2415
+msgid "Edit Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2471
+msgid "Delete Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2490
+msgid "Create BOM Item"
+msgstr ""
+
+#: part/views.py:2560
+msgid "Edit BOM item"
+msgstr ""
+
+#: part/views.py:2616
+msgid "Confim BOM item deletion"
+msgstr ""
+
+#: report/models.py:180
+msgid "Template name"
+msgstr ""
+
+#: report/models.py:186
+msgid "Report template file"
+msgstr ""
+
+#: report/models.py:193
+msgid "Report template description"
+msgstr ""
+
+#: report/models.py:199
+msgid "Report revision number (auto-increments)"
+msgstr ""
+
+#: report/models.py:275
+msgid "Report template is enabled"
+msgstr ""
+
+#: report/models.py:295
+msgid "StockItem query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: report/models.py:303
+msgid "Include Installed Tests"
+msgstr ""
+
+#: report/models.py:304
+msgid "Include test results for stock items installed inside assembled item"
+msgstr ""
+
+#: report/models.py:347
+msgid "Build Filters"
+msgstr ""
+
+#: report/models.py:348
+msgid "Build query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:385
+msgid "Part Filters"
+msgstr ""
+
+#: report/models.py:386
+msgid "Part query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:416
+msgid "Purchase order query filters"
+msgstr ""
+
+#: report/models.py:450
+msgid "Sales order query filters"
+msgstr ""
+
+#: report/models.py:500
+msgid "Snippet"
+msgstr ""
+
+#: report/models.py:501
+msgid "Report snippet file"
+msgstr ""
+
+#: report/models.py:505
+msgid "Snippet file description"
+msgstr ""
+
+#: report/models.py:540
+msgid "Asset"
+msgstr ""
+
+#: report/models.py:541
+msgid "Report asset file"
+msgstr ""
+
+#: report/models.py:544
+msgid "Asset file description"
+msgstr ""
+
+#: report/templates/report/inventree_build_order_base.html:147
+msgid "Required For"
+msgstr ""
+
+#: report/templates/report/inventree_po_report.html:85
+#: report/templates/report/inventree_so_report.html:85
+msgid "Line 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:83
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:88
+#: stock/models.py:1643
+msgid "Test"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:89
+#: stock/models.py:1649
+msgid "Result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:92
+#: templates/js/order.js:195 templates/js/stock.js:986
+msgid "Date"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:103
+msgid "Pass"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:105
+msgid "Fail"
+msgstr ""
+
+#: stock/api.py:199
+#, python-brace-format
+msgid "Updated stock for {n} items"
+msgstr ""
+
+#: stock/api.py:268
+#, python-brace-format
+msgid "Moved {n} parts to {loc}"
+msgstr ""
+
+#: stock/forms.py:114 stock/forms.py:406 stock/models.py:475
+#: stock/templates/stock/item_base.html:365 templates/js/stock.js:656
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/forms.py:115 stock/forms.py:407
+msgid "Expiration date for this stock item"
+msgstr ""
+
+#: stock/forms.py:118
+msgid "Enter unique serial numbers (or leave blank)"
+msgstr ""
+
+#: stock/forms.py:169
+msgid ""
+"Destination for serialized stock (by default, will remain in current "
+"location)"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Serial numbers"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Unique serial numbers (must match quantity)"
+msgstr ""
+
+#: stock/forms.py:173 stock/forms.py:349
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/forms.py:203 stock/forms.py:259
+msgid "Select test report template"
+msgstr ""
+
+#: stock/forms.py:267 templates/js/table_filters.js:70
+#: templates/js/table_filters.js:133
+msgid "Include sublocations"
+msgstr ""
+
+#: stock/forms.py:267
+msgid "Include stock items in sub locations"
+msgstr ""
+
+#: stock/forms.py:302
+msgid "Stock item to install"
+msgstr ""
+
+#: stock/forms.py:309
+msgid "Stock quantity to assign"
+msgstr ""
+
+#: stock/forms.py:337
+msgid "Must not exceed available quantity"
+msgstr ""
+
+#: stock/forms.py:347
+msgid "Destination location for uninstalled items"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm uninstall"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm removal of installed stock items"
+msgstr ""
+
+#: stock/forms.py:375
+msgid "Destination stock location"
+msgstr ""
+
+#: stock/forms.py:377
+msgid "Add note (required)"
+msgstr ""
+
+#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: stock/forms.py:381
+msgid "Confirm movement of stock items"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set Default Location"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set the destination as the default location for selected parts"
+msgstr ""
+
+#: stock/models.py:54 stock/models.py:513
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:55 stock/models.py:514
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:205
+msgid "Created stock item"
+msgstr ""
+
+#: stock/models.py:241
+msgid "StockItem with this serial number already exists"
+msgstr ""
+
+#: stock/models.py:277
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:287 stock/models.py:296
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:288
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:310
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:316
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:323
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:365
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:374
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:383
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:388 stock/templates/stock/stock_app_base.html:8
+msgid "Stock Location"
+msgstr ""
+
+#: stock/models.py:391
+msgid "Where is this stock item located?"
+msgstr ""
+
+#: stock/models.py:398
+msgid "Packaging this stock item is stored in"
+msgstr ""
+
+#: stock/models.py:403 stock/templates/stock/item_base.html:259
+msgid "Installed In"
+msgstr ""
+
+#: stock/models.py:406
+msgid "Is this item installed in another item?"
+msgstr ""
+
+#: stock/models.py:422
+msgid "Serial number for this item"
+msgstr ""
+
+#: stock/models.py:434
+msgid "Batch code for this stock item"
+msgstr ""
+
+#: stock/models.py:438
+msgid "Stock Quantity"
+msgstr ""
+
+#: stock/models.py:447
+msgid "Source Build"
+msgstr ""
+
+#: stock/models.py:449
+msgid "Build for this stock item"
+msgstr ""
+
+#: stock/models.py:460
+msgid "Source Purchase Order"
+msgstr ""
+
+#: stock/models.py:463
+msgid "Purchase order for this stock item"
+msgstr ""
+
+#: stock/models.py:469
+msgid "Destination Sales Order"
+msgstr ""
+
+#: stock/models.py:476
+msgid ""
+"Expiry date for stock item. Stock will be considered expired after this date"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete on deplete"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete this Stock Item when stock is depleted"
+msgstr ""
+
+#: stock/models.py:499 stock/templates/stock/item_notes.html:13
+#: stock/templates/stock/navbar.html:54
+msgid "Stock Item Notes"
+msgstr ""
+
+#: stock/models.py:509
+msgid "Single unit purchase price at time of purchase"
+msgstr ""
+
+#: stock/models.py:614
+msgid "Assigned to Customer"
+msgstr ""
+
+#: stock/models.py:616
+msgid "Manually assigned to customer"
+msgstr ""
+
+#: stock/models.py:629
+msgid "Returned from customer"
+msgstr ""
+
+#: stock/models.py:631
+msgid "Returned to location"
+msgstr ""
+
+#: stock/models.py:792
+msgid "Installed into stock item"
+msgstr ""
+
+#: stock/models.py:800
+msgid "Installed stock item"
+msgstr ""
+
+#: stock/models.py:824
+msgid "Uninstalled stock item"
+msgstr ""
+
+#: stock/models.py:843
+msgid "Uninstalled into location"
+msgstr ""
+
+#: stock/models.py:944
+msgid "Part is not set as trackable"
+msgstr ""
+
+#: stock/models.py:950
+msgid "Quantity must be integer"
+msgstr ""
+
+#: stock/models.py:956
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({n})"
+msgstr ""
+
+#: stock/models.py:959
+msgid "Serial numbers must be a list of integers"
+msgstr ""
+
+#: stock/models.py:962
+msgid "Quantity does not match serial numbers"
+msgstr ""
+
+#: stock/models.py:994
+msgid "Add serial number"
+msgstr ""
+
+#: stock/models.py:997
+#, python-brace-format
+msgid "Serialized {n} items"
+msgstr ""
+
+#: stock/models.py:1075
+msgid "Split from existing stock"
+msgstr ""
+
+#: stock/models.py:1113
+msgid "StockItem cannot be moved as it is not in stock"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Title"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Tracking entry title"
+msgstr ""
+
+#: stock/models.py:1558
+msgid "Entry notes"
+msgstr ""
+
+#: stock/models.py:1560
+msgid "Link to external page for further information"
+msgstr ""
+
+#: stock/models.py:1620
+msgid "Value must be provided for this test"
+msgstr ""
+
+#: stock/models.py:1626
+msgid "Attachment must be uploaded for this test"
+msgstr ""
+
+#: stock/models.py:1644
+msgid "Test name"
+msgstr ""
+
+#: stock/models.py:1650 templates/js/table_filters.js:212
+msgid "Test result"
+msgstr ""
+
+#: stock/models.py:1656
+msgid "Test output value"
+msgstr ""
+
+#: stock/models.py:1663
+msgid "Test result attachment"
+msgstr ""
+
+#: stock/models.py:1669
+msgid "Test notes"
+msgstr ""
+
+#: stock/templates/stock/item.html:12
+msgid "Stock Tracking Information"
+msgstr ""
+
+#: stock/templates/stock/item.html:30
+msgid "New Entry"
+msgstr ""
+
+#: stock/templates/stock/item_attachments.html:11
+msgid "Stock Item Attachments"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:24
+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:31
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:32
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:45
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:53
+#, python-format
+msgid ""
+"This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:61
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:67
+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:71
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:75
+msgid ""
+"This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:145
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:99
+#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:150
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:136 templates/js/barcode.js:309
+#: templates/js/barcode.js:314
+msgid "Unlink Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:138
+msgid "Link Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:140 templates/stock_table.html:31
+msgid "Scan to Location"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:147
+msgid "Printing actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_tests.html:27
+msgid "Test Report"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:160
+msgid "Stock adjustment actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:164
+#: stock/templates/stock/location.html:65 templates/stock_table.html:56
+msgid "Count stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:167 templates/stock_table.html:54
+msgid "Add stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:170 templates/stock_table.html:55
+msgid "Remove stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:173
+msgid "Serialize stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:177
+msgid "Transfer stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:180
+msgid "Assign to customer"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:183
+msgid "Return to stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1299
+msgid "Uninstall stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187
+msgid "Uninstall"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:199
+msgid "Convert to variant"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:202
+msgid "Duplicate stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:204
+msgid "Edit stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:207
+msgid "Delete stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:219
+msgid "Stock Item Details"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:278 templates/js/build.js:498
+msgid "No location set"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:285
+msgid "Barcode Identifier"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:327
+msgid "Parent Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:369
+#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:371
+#, python-format
+msgid "This StockItem expires on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:378 templates/js/stock.js:662
+msgid "Last Updated"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:383
+msgid "Last Stocktake"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:387
+msgid "No stocktake performed"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:12
+msgid "Child Stock Items"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:20
+msgid "This stock item does not have any child items"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:9
+msgid "Are you sure you want to delete this stock item?"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:12
+#, python-format
+msgid ""
+"This will remove %(qty)s units of %(full_name)s from stock."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:7
+msgid "Install another StockItem into this item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:10
+msgid "Stock items can only be installed if they meet the following criteria"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:13
+msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:14
+msgid "The StockItem is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_installed.html:11
+#: stock/templates/stock/navbar.html:27
+msgid "Installed Stock Items"
+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/item_tests.html:11
+#: stock/templates/stock/navbar.html:19 stock/templates/stock/navbar.html:22
+msgid "Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:20
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:24
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/location.html:20
+msgid ""
+"You are not in the list of owners of this location. This stock location "
+"cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:37
+msgid "All stock items"
+msgstr ""
+
+#: stock/templates/stock/location.html:55
+msgid "Check-in Items"
+msgstr ""
+
+#: stock/templates/stock/location.html:71
+msgid "Location actions"
+msgstr ""
+
+#: stock/templates/stock/location.html:73
+msgid "Edit location"
+msgstr ""
+
+#: stock/templates/stock/location.html:75
+msgid "Delete location"
+msgstr ""
+
+#: stock/templates/stock/location.html:87
+msgid "Location Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:92
+msgid "Location Path"
+msgstr ""
+
+#: stock/templates/stock/location.html:97
+msgid "Location Description"
+msgstr ""
+
+#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location_navbar.html:11
+#: stock/templates/stock/location_navbar.html:18
+#: stock/templates/stock/sublocation.html:16
+msgid "Sublocations"
+msgstr ""
+
+#: stock/templates/stock/location.html:112
+msgid "Stock Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: templates/stats.html:76 users/models.py:39
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/templates/stock/location_delete.html:7
+msgid "Are you sure you want to delete this stock location?"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:11
+msgid "Stock Item Tracking"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:14
+msgid "History"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:30
+msgid "Installed Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:38
+msgid "Child Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:41
+msgid "Children"
+msgstr ""
+
+#: stock/templates/stock/stock_adjust.html:43
+msgid "Remove item"
+msgstr ""
+
+#: stock/templates/stock/stock_app_base.html:16
+msgid "Loading..."
+msgstr ""
+
+#: stock/templates/stock/stock_uninstall.html:8
+msgid "The following stock items will be uninstalled"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1332
+msgid "Convert Stock Item"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:8
+#, python-format
+msgid "This stock item is current an instance of %(part)s"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:9
+msgid "It can be converted to one of the part variants listed below."
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:14
+msgid "This action cannot be easily undone"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:23 templates/stock_table.html:37
+msgid "Printing Actions"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:27 templates/stock_table.html:41
+msgid "Print labels"
+msgstr ""
+
+#: stock/templates/stock/tracking_delete.html:6
+msgid "Are you sure you want to delete this stock tracking entry?"
+msgstr ""
+
+#: stock/views.py:123
+msgid "Edit Stock Location"
+msgstr ""
+
+#: stock/views.py:230 stock/views.py:1322 stock/views.py:1433
+#: stock/views.py:1798
+msgid "Owner is required (ownership control is enabled)"
+msgstr ""
+
+#: stock/views.py:245
+msgid "Stock Location QR code"
+msgstr ""
+
+#: stock/views.py:265
+msgid "Add Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:311
+msgid "Edit Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:327
+msgid "Delete Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:343
+msgid "Assign to Customer"
+msgstr ""
+
+#: stock/views.py:352
+msgid "Customer must be specified"
+msgstr ""
+
+#: stock/views.py:376
+msgid "Return to Stock"
+msgstr ""
+
+#: stock/views.py:385
+msgid "Specify a valid location"
+msgstr ""
+
+#: stock/views.py:396
+msgid "Stock item returned from customer"
+msgstr ""
+
+#: stock/views.py:407
+msgid "Delete All Test Data"
+msgstr ""
+
+#: stock/views.py:424
+msgid "Confirm test data deletion"
+msgstr ""
+
+#: stock/views.py:444
+msgid "Add Test Result"
+msgstr ""
+
+#: stock/views.py:484
+msgid "Edit Test Result"
+msgstr ""
+
+#: stock/views.py:501
+msgid "Delete Test Result"
+msgstr ""
+
+#: stock/views.py:509
+msgid "Stock Export Options"
+msgstr ""
+
+#: stock/views.py:630
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/views.py:656
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/views.py:755
+msgid "Uninstall Stock Items"
+msgstr ""
+
+#: stock/views.py:863
+msgid "Uninstalled stock items"
+msgstr ""
+
+#: stock/views.py:888
+msgid "Adjust Stock"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move Stock Items"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count Stock Items"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Remove From Stock"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Take"
+msgstr ""
+
+#: stock/views.py:1001
+msgid "Add Stock Items"
+msgstr ""
+
+#: stock/views.py:1001 users/models.py:180
+msgid "Add"
+msgstr ""
+
+#: stock/views.py:1002
+msgid "Delete Stock Items"
+msgstr ""
+
+#: stock/views.py:1031
+msgid "Must enter integer value"
+msgstr ""
+
+#: stock/views.py:1036
+msgid "Quantity must be positive"
+msgstr ""
+
+#: stock/views.py:1043
+#, python-brace-format
+msgid "Quantity must not exceed {x}"
+msgstr ""
+
+#: stock/views.py:1107
+msgid "No action performed"
+msgstr ""
+
+#: stock/views.py:1122
+#, python-brace-format
+msgid "Added stock to {n} items"
+msgstr ""
+
+#: stock/views.py:1137
+#, python-brace-format
+msgid "Removed stock from {n} items"
+msgstr ""
+
+#: stock/views.py:1150
+#, python-brace-format
+msgid "Counted stock for {n} items"
+msgstr ""
+
+#: stock/views.py:1190
+msgid "No items were moved"
+msgstr ""
+
+#: stock/views.py:1193
+#, python-brace-format
+msgid "Moved {n} items to {dest}"
+msgstr ""
+
+#: stock/views.py:1212
+#, python-brace-format
+msgid "Deleted {n} stock items"
+msgstr ""
+
+#: stock/views.py:1224
+msgid "Edit Stock Item"
+msgstr ""
+
+#: stock/views.py:1450
+msgid "Serialize Stock"
+msgstr ""
+
+#: stock/views.py:1543 templates/js/build.js:244
+msgid "Create new Stock Item"
+msgstr ""
+
+#: stock/views.py:1685
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: stock/views.py:1767
+msgid "Quantity cannot be negative"
+msgstr ""
+
+#: stock/views.py:1867
+msgid "Delete Stock Location"
+msgstr ""
+
+#: stock/views.py:1880
+msgid "Delete Stock Item"
+msgstr ""
+
+#: stock/views.py:1891
+msgid "Delete Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1898
+msgid "Edit Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1907
+msgid "Add Stock Tracking Entry"
+msgstr ""
+
+#: templates/403.html:5 templates/403.html:11
+msgid "Permission Denied"
+msgstr ""
+
+#: templates/403.html:14
+msgid "You do not have permission to view this page."
+msgstr ""
+
+#: templates/404.html:5 templates/404.html:11
+msgid "Page Not Found"
+msgstr ""
+
+#: templates/404.html:14
+msgid "The requested page does not exist"
+msgstr ""
+
+#: templates/InvenTree/index.html:7
+msgid "Index"
+msgstr ""
+
+#: templates/InvenTree/index.html:98
+msgid "Starred Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:99
+msgid "Latest Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:100
+msgid "BOM Waiting Validation"
+msgstr ""
+
+#: templates/InvenTree/index.html:129
+msgid "Recently Updated"
+msgstr ""
+
+#: templates/InvenTree/index.html:145
+msgid "Expired Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:146
+msgid "Stale Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:184
+msgid "Build Orders In Progress"
+msgstr ""
+
+#: templates/InvenTree/index.html:185
+msgid "Overdue Build Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:206
+msgid "Outstanding Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:207
+msgid "Overdue Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:229
+msgid "Outstanding Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:230
+msgid "Overdue Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+msgid "Search Results"
+msgstr ""
+
+#: templates/InvenTree/search.html:24
+msgid "Enter a search query"
+msgstr ""
+
+#: templates/InvenTree/search.html:268 templates/js/stock.js:300
+msgid "Shipped to customer"
+msgstr ""
+
+#: templates/InvenTree/search.html:271 templates/js/stock.js:310
+msgid "No stock location set"
+msgstr ""
+
+#: templates/InvenTree/settings/build.html:10
+msgid "Build Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:9
+msgid "Category Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:25
+msgid "Category Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:52
+msgid "No category parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:70
+#: templates/InvenTree/settings/part.html:81
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:71
+#: templates/InvenTree/settings/part.html:82
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:10
+msgid "Global InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:27
+msgid "Barcode Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/header.html:7
+msgid "Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:9
+msgid "Part Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:14
+msgid "Part Options"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:40
+msgid "Part Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:61
+msgid "No part parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/po.html:9
+msgid "Purchase Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/report.html:10
+msgid "Report Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:23
+msgid "No value set"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:31
+msgid "Edit setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:8
+#: templates/InvenTree/settings/settings.html:14 templates/navbar.html:84
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/so.html:9
+msgid "Sales Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:9
+msgid "Stock Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:49
+msgid "Stock Options"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:3
+#: templates/InvenTree/settings/user.html:10
+msgid "User Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:6
+msgid "Account"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:9
+msgid "Theme"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:13
+msgid "InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:16
+msgid "Global"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:19
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:22
+msgid "Categories"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:10
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:17
+msgid "Color Themes"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:29
+#, python-format
+msgid ""
+"\n"
+"\t\tThe CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected "
+"color theme was not found.
\n"
+"\t\tPlease select another color theme :)\n"
+"\t"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:16
+msgid "User Information"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:21
+msgid "Change Password"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:28
+#: templates/registration/login.html:59
+msgid "Username"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:32
+msgid "First Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:36
+msgid "Last Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:40
+msgid "Email Address"
+msgstr ""
+
+#: templates/about.html:13
+msgid "InvenTree Version Information"
+msgstr ""
+
+#: templates/about.html:22
+msgid "InvenTree Version"
+msgstr ""
+
+#: templates/about.html:26
+msgid "Up to Date"
+msgstr ""
+
+#: templates/about.html:28
+msgid "Update Available"
+msgstr ""
+
+#: templates/about.html:34
+msgid "Django Version"
+msgstr ""
+
+#: templates/about.html:41
+msgid "Commit Hash"
+msgstr ""
+
+#: templates/about.html:48
+msgid "Commit Date"
+msgstr ""
+
+#: templates/about.html:53
+msgid "InvenTree Documentation"
+msgstr ""
+
+#: templates/about.html:58
+msgid "View Code on GitHub"
+msgstr ""
+
+#: templates/about.html:63
+msgid "Get the App"
+msgstr ""
+
+#: templates/about.html:68
+msgid "Submit Bug Report"
+msgstr ""
+
+#: templates/attachment_table.html:6
+msgid "Add Attachment"
+msgstr ""
+
+#: templates/attachment_table.html:15
+msgid "File"
+msgstr ""
+
+#: templates/attachment_table.html:17
+msgid "Uploaded"
+msgstr ""
+
+#: templates/attachment_table.html:35
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/image_download.html:8
+msgid "Specify URL for downloading image"
+msgstr ""
+
+#: templates/image_download.html:11
+msgid "Must be a valid image URL"
+msgstr ""
+
+#: templates/image_download.html:12
+msgid "Remote server must be accessible"
+msgstr ""
+
+#: templates/image_download.html:13
+msgid "Remote image must not exceed maximum allowable file size"
+msgstr ""
+
+#: templates/js/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/barcode.js:119 templates/js/modals.js:857
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:311
+msgid ""
+"This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/barcode.js:376
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/barcode.js:422 templates/js/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/barcode.js:462 templates/js/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/bom.js:175 templates/js/build.js:994
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/bom.js:261
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/filters.js:397
+msgid "true"
+msgstr ""
+
+#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/filters.js:398
+msgid "false"
+msgstr ""
+
+#: templates/js/bom.js:290 templates/js/bom.js:376
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/bom.js:350
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:352
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/bom.js:354
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:356
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/build.js:62
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/build.js:70
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/build.js:80
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/build.js:89
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/build.js:243 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/build.js:549
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/build.js:570
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/build.js:638 templates/js/build.js:1056
+#: templates/stock_table.html:58
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/build.js:691
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
+#: templates/js/stock.js:511 templates/js/stock.js:938
+#: templates/js/stock.js:1331
+msgid "Select"
+msgstr ""
+
+#: templates/js/build.js:728
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/build.js:827
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/company.js:74
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/company.js:83
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/company.js:96
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/company.js:129
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/company.js:148 templates/js/company.js:246
+#: templates/js/part.js:60 templates/js/part.js:145
+msgid "Template part"
+msgstr ""
+
+#: templates/js/company.js:152 templates/js/company.js:250
+#: templates/js/part.js:64 templates/js/part.js:149
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/company.js:227
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/filters.js:268
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/filters.js:271
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/filters.js:296
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/label.js:10 templates/js/report.js:98
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:29 templates/js/label.js:79
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/label.js:154
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/label.js:162
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/label.js:177
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/modals.js:256
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/modals.js:406
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/modals.js:473 templates/modals.html:73
+msgid "Accept"
+msgstr ""
+
+#: templates/js/modals.js:474 templates/modals.html:72
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/modals.js:538
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/modals.js:549 templates/js/modals.js:808
+#: templates/modals.html:29 templates/modals.html:53
+msgid "Submit"
+msgstr ""
+
+#: templates/js/modals.js:550 templates/js/modals.js:809
+#: templates/modals.html:28 templates/modals.html:52 templates/modals.html:93
+msgid "Close"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/modals.js:773
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/modals.js:857
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/modals.js:867
+msgid "No Response"
+msgstr ""
+
+#: templates/js/modals.js:868
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/modals.js:872
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/modals.js:873
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/modals.js:877
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/modals.js:878
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/modals.js:882
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/modals.js:883
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/modals.js:887
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/modals.js:888
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/modals.js:892
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/modals.js:893
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/modals.js:896
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/order.js:138
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/order.js:162 templates/js/order.js:257
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/order.js:234
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/part.js:52 templates/js/part.js:137
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/part.js:56 templates/js/part.js:141
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/part.js:68
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/part.js:72
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/part.js:186
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/part.js:272 templates/js/part.js:452
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/part.js:391
+msgid "No category"
+msgstr ""
+
+#: templates/js/part.js:409 templates/js/table_filters.js:318
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/part.js:571 templates/js/stock.js:962
+msgid "Path"
+msgstr ""
+
+#: templates/js/part.js:588
+msgid "YES"
+msgstr ""
+
+#: templates/js/part.js:590
+msgid "NO"
+msgstr ""
+
+#: templates/js/part.js:624
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/part.js:675 templates/js/stock.js:75
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/part.js:676 templates/js/stock.js:76
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/part.js:682
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/report.js:47
+msgid "items selected"
+msgstr ""
+
+#: templates/js/report.js:55
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/report.js:70
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/report.js:99
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:116 templates/js/report.js:169
+#: templates/js/report.js:223 templates/js/report.js:277
+#: templates/js/report.js:331
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/report.js:117
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/report.js:152
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/report.js:153
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:170
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:224
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/report.js:259
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/report.js:260
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/report.js:278 templates/js/report.js:332
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/report.js:313
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/report.js:314
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/stock.js:38
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:40
+msgid "FAIL"
+msgstr ""
+
+#: templates/js/stock.js:45
+msgid "NO RESULT"
+msgstr ""
+
+#: templates/js/stock.js:71
+msgid "Add test result"
+msgstr ""
+
+#: templates/js/stock.js:90
+msgid "No test results found"
+msgstr ""
+
+#: templates/js/stock.js:132
+msgid "Test Date"
+msgstr ""
+
+#: templates/js/stock.js:292
+msgid "In production"
+msgstr ""
+
+#: templates/js/stock.js:296
+msgid "Installed in Stock Item"
+msgstr ""
+
+#: templates/js/stock.js:304
+msgid "Assigned to Sales Order"
+msgstr ""
+
+#: templates/js/stock.js:336
+msgid "No stock items matching query"
+msgstr ""
+
+#: templates/js/stock.js:357
+msgid "items"
+msgstr ""
+
+#: templates/js/stock.js:449
+msgid "batches"
+msgstr ""
+
+#: templates/js/stock.js:476
+msgid "locations"
+msgstr ""
+
+#: templates/js/stock.js:478
+msgid "Undefined location"
+msgstr ""
+
+#: templates/js/stock.js:579
+msgid "Stock item is in production"
+msgstr ""
+
+#: templates/js/stock.js:584
+msgid "Stock item assigned to sales order"
+msgstr ""
+
+#: templates/js/stock.js:587
+msgid "Stock item assigned to customer"
+msgstr ""
+
+#: templates/js/stock.js:591
+msgid "Stock item has expired"
+msgstr ""
+
+#: templates/js/stock.js:593
+msgid "Stock item will expire soon"
+msgstr ""
+
+#: templates/js/stock.js:597
+msgid "Stock item has been allocated"
+msgstr ""
+
+#: templates/js/stock.js:601
+msgid "Stock item has been installed in another item"
+msgstr ""
+
+#: templates/js/stock.js:609
+msgid "Stock item has been rejected"
+msgstr ""
+
+#: templates/js/stock.js:613
+msgid "Stock item is lost"
+msgstr ""
+
+#: templates/js/stock.js:616
+msgid "Stock item is destroyed"
+msgstr ""
+
+#: templates/js/stock.js:620 templates/js/table_filters.js:138
+msgid "Depleted"
+msgstr ""
+
+#: templates/js/stock.js:649
+msgid "Stocktake"
+msgstr ""
+
+#: templates/js/stock.js:825
+msgid "Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:840
+msgid "Set Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:854
+msgid "Select Status Code"
+msgstr ""
+
+#: templates/js/stock.js:855
+msgid "Status code must be selected"
+msgstr ""
+
+#: templates/js/stock.js:1050
+msgid "No user information"
+msgstr ""
+
+#: templates/js/stock.js:1060
+msgid "Edit tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1061
+msgid "Delete tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1170
+msgid "Create New Location"
+msgstr ""
+
+#: templates/js/stock.js:1269
+msgid "Serial"
+msgstr ""
+
+#: templates/js/stock.js:1362 templates/js/table_filters.js:171
+msgid "Installed"
+msgstr ""
+
+#: templates/js/stock.js:1387
+msgid "Install item"
+msgstr ""
+
+#: templates/js/table_filters.js:42
+msgid "Trackable Part"
+msgstr ""
+
+#: templates/js/table_filters.js:46
+msgid "Validated"
+msgstr ""
+
+#: templates/js/table_filters.js:71
+msgid "Include locations"
+msgstr ""
+
+#: templates/js/table_filters.js:81 templates/js/table_filters.js:82
+#: templates/js/table_filters.js:295
+msgid "Include subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:92 templates/js/table_filters.js:181
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/table_filters.js:95 templates/js/table_filters.js:188
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/table_filters.js:96 templates/js/table_filters.js:189
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:99 templates/js/table_filters.js:192
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/table_filters.js:100 templates/js/table_filters.js:193
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:103 templates/js/table_filters.js:104
+#: templates/js/table_filters.js:184 templates/js/table_filters.js:185
+msgid "Serial number"
+msgstr ""
+
+#: templates/js/table_filters.js:108 templates/js/table_filters.js:202
+msgid "Batch code"
+msgstr ""
+
+#: templates/js/table_filters.js:118 templates/js/table_filters.js:285
+msgid "Active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:119
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:124
+msgid "Part is an assembly"
+msgstr ""
+
+#: templates/js/table_filters.js:128
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:129
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:134
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/table_filters.js:139
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/table_filters.js:146
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/table_filters.js:151
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/table_filters.js:157
+msgid "Show items which are in stock"
+msgstr ""
+
+#: templates/js/table_filters.js:161
+msgid "In Production"
+msgstr ""
+
+#: templates/js/table_filters.js:162
+msgid "Show items which are in production"
+msgstr ""
+
+#: templates/js/table_filters.js:166
+msgid "Include Variants"
+msgstr ""
+
+#: templates/js/table_filters.js:167
+msgid "Include stock items for variant parts"
+msgstr ""
+
+#: templates/js/table_filters.js:172
+msgid "Show stock items which are installed in another item"
+msgstr ""
+
+#: templates/js/table_filters.js:176
+msgid "Sent to customer"
+msgstr ""
+
+#: templates/js/table_filters.js:177
+msgid "Show items which have been assigned to a customer"
+msgstr ""
+
+#: templates/js/table_filters.js:197 templates/js/table_filters.js:198
+msgid "Stock status"
+msgstr ""
+
+#: templates/js/table_filters.js:231
+msgid "Build status"
+msgstr ""
+
+#: templates/js/table_filters.js:250 templates/js/table_filters.js:267
+msgid "Order status"
+msgstr ""
+
+#: templates/js/table_filters.js:255 templates/js/table_filters.js:272
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/table_filters.js:296
+msgid "Include parts in subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:300
+msgid "Has IPN"
+msgstr ""
+
+#: templates/js/table_filters.js:301
+msgid "Part has internal part number"
+msgstr ""
+
+#: templates/js/table_filters.js:306
+msgid "Show active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:314
+msgid "Stock available"
+msgstr ""
+
+#: templates/js/table_filters.js:330
+msgid "Starred"
+msgstr ""
+
+#: templates/js/table_filters.js:342
+msgid "Purchasable"
+msgstr ""
+
+#: templates/js/tables.js:321
+msgid "Loading data"
+msgstr ""
+
+#: templates/js/tables.js:324
+msgid "rows per page"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "Showing"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "to"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "of"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "rows"
+msgstr ""
+
+#: templates/js/tables.js:330 templates/search_form.html:6
+#: templates/search_form.html:8
+msgid "Search"
+msgstr ""
+
+#: templates/js/tables.js:333
+msgid "No matching results"
+msgstr ""
+
+#: templates/js/tables.js:336
+msgid "Hide/Show pagination"
+msgstr ""
+
+#: templates/js/tables.js:339
+msgid "Refresh"
+msgstr ""
+
+#: templates/js/tables.js:342
+msgid "Toggle"
+msgstr ""
+
+#: templates/js/tables.js:345
+msgid "Columns"
+msgstr ""
+
+#: templates/js/tables.js:348
+msgid "All"
+msgstr ""
+
+#: templates/modals.html:21 templates/modals.html:46
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/navbar.html:33
+msgid "Buy"
+msgstr ""
+
+#: templates/navbar.html:43
+msgid "Sell"
+msgstr ""
+
+#: templates/navbar.html:55
+msgid "Scan Barcode"
+msgstr ""
+
+#: templates/navbar.html:77 users/models.py:36
+msgid "Admin"
+msgstr ""
+
+#: templates/navbar.html:79
+msgid "Logout"
+msgstr ""
+
+#: templates/navbar.html:81 templates/registration/login.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:104
+msgid "About InvenTree"
+msgstr ""
+
+#: templates/qr_code.html:11
+msgid "QR data not provided"
+msgstr ""
+
+#: templates/registration/logged_out.html:51
+msgid "You have been logged out"
+msgstr ""
+
+#: templates/registration/logged_out.html:52
+#: templates/registration/password_reset_complete.html:52
+#: templates/registration/password_reset_done.html:59
+msgid "Return to login screen"
+msgstr ""
+
+#: templates/registration/login.html:65
+msgid "Enter username"
+msgstr ""
+
+#: templates/registration/login.html:71
+msgid "Password"
+msgstr ""
+
+#: templates/registration/login.html:84
+msgid "Username / password combination is incorrect"
+msgstr ""
+
+#: templates/registration/login.html:96
+#: templates/registration/password_reset_form.html:52
+msgid "Forgotten your password?"
+msgstr ""
+
+#: templates/registration/login.html:96
+msgid "Click here to reset"
+msgstr ""
+
+#: templates/registration/password_reset_complete.html:51
+msgid "Password reset complete"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:53
+#: templates/registration/password_reset_confirm.html:57
+msgid "Change password"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:61
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:52
+msgid ""
+"We've emailed you instructions for setting your password, if an account "
+"exists with the email you entered. You should receive them shortly."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:55
+msgid ""
+"If you don't receive an email, please make sure you've entered the address "
+"you registered with, and check your spam folder."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:53
+msgid "Enter your email address below."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:54
+msgid "An email will be sent with password reset instructions."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:59
+msgid "Send email"
+msgstr ""
+
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
+#: templates/stats.html:13
+msgid "Instance Name"
+msgstr ""
+
+#: templates/stats.html:19
+msgid "Server status"
+msgstr ""
+
+#: templates/stats.html:22
+msgid "Healthy"
+msgstr ""
+
+#: templates/stats.html:24
+msgid "Issues detected"
+msgstr ""
+
+#: templates/stats.html:31
+msgid "Background Worker"
+msgstr ""
+
+#: templates/stats.html:34
+msgid "Background worker not running"
+msgstr ""
+
+#: templates/stats.html:42
+msgid "Email Settings"
+msgstr ""
+
+#: templates/stats.html:45
+msgid "Email settings not configured"
+msgstr ""
+
+#: templates/stock_table.html:14
+msgid "Export Stock Information"
+msgstr ""
+
+#: templates/stock_table.html:27
+msgid "Barcode Actions"
+msgstr ""
+
+#: templates/stock_table.html:43
+msgid "Print test reports"
+msgstr ""
+
+#: templates/stock_table.html:54
+msgid "Add to selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:55
+msgid "Remove from selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:56
+msgid "Stocktake selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move stock"
+msgstr ""
+
+#: templates/stock_table.html:58
+msgid "Order selected items"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change status"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change stock status"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete selected items"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/yesnolabel.html:4
+msgid "Yes"
+msgstr ""
+
+#: templates/yesnolabel.html:6
+msgid "No"
+msgstr ""
+
+#: users/admin.py:64
+msgid "Users"
+msgstr ""
+
+#: users/admin.py:65
+msgid "Select which users are assigned to this group"
+msgstr ""
+
+#: users/admin.py:187
+msgid "The following users are members of multiple groups:"
+msgstr ""
+
+#: users/admin.py:210
+msgid "Personal info"
+msgstr ""
+
+#: users/admin.py:211
+msgid "Permissions"
+msgstr ""
+
+#: users/admin.py:214
+msgid "Important dates"
+msgstr ""
+
+#: users/models.py:167
+msgid "Permission set"
+msgstr ""
+
+#: users/models.py:175
+msgid "Group"
+msgstr ""
+
+#: users/models.py:178
+msgid "View"
+msgstr ""
+
+#: users/models.py:178
+msgid "Permission to view items"
+msgstr ""
+
+#: users/models.py:180
+msgid "Permission to add items"
+msgstr ""
+
+#: users/models.py:182
+msgid "Change"
+msgstr ""
+
+#: users/models.py:182
+msgid "Permissions to edit items"
+msgstr ""
+
+#: users/models.py:184
+msgid "Permission to delete items"
+msgstr ""
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.mo b/InvenTree/locale/it/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..71cbdf3e9d
Binary files /dev/null and b/InvenTree/locale/it/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
new file mode 100644
index 0000000000..a99521bf12
--- /dev/null
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -0,0 +1,7288 @@
+# 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 , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-04-21 17:15+1000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: InvenTree/api.py:64
+msgid "API endpoint not found"
+msgstr ""
+
+#: InvenTree/api.py:110
+msgid "No action specified"
+msgstr ""
+
+#: InvenTree/api.py:124
+msgid "No matching action found"
+msgstr ""
+
+#: InvenTree/fields.py:44
+msgid "Enter date"
+msgstr ""
+
+#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122
+#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226
+#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
+#: order/forms.py:71 part/forms.py:134
+msgid "Confirm"
+msgstr ""
+
+#: InvenTree/forms.py:126
+msgid "Confirm delete"
+msgstr ""
+
+#: InvenTree/forms.py:127
+msgid "Confirm item deletion"
+msgstr ""
+
+#: InvenTree/forms.py:159 templates/registration/login.html:77
+msgid "Enter password"
+msgstr ""
+
+#: InvenTree/forms.py:160
+msgid "Enter new password"
+msgstr ""
+
+#: InvenTree/forms.py:167
+msgid "Confirm password"
+msgstr ""
+
+#: InvenTree/forms.py:168
+msgid "Confirm new password"
+msgstr ""
+
+#: InvenTree/forms.py:203
+msgid "Apply Theme"
+msgstr ""
+
+#: InvenTree/forms.py:233
+msgid "Select Category"
+msgstr ""
+
+#: InvenTree/helpers.py:375 order/models.py:245 order/models.py:344
+#: stock/views.py:1763
+msgid "Invalid quantity provided"
+msgstr ""
+
+#: InvenTree/helpers.py:378
+msgid "Empty serial number string"
+msgstr ""
+
+#: InvenTree/helpers.py:399
+#, python-brace-format
+msgid "Duplicate serial: {n}"
+msgstr ""
+
+#: InvenTree/helpers.py:403 InvenTree/helpers.py:406 InvenTree/helpers.py:409
+#, python-brace-format
+msgid "Invalid group: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:414
+#, python-brace-format
+msgid "Duplicate serial: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:422
+msgid "No serial numbers found"
+msgstr ""
+
+#: InvenTree/helpers.py:426
+#, python-brace-format
+msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgstr ""
+
+#: InvenTree/models.py:59 stock/models.py:1662
+msgid "Attachment"
+msgstr ""
+
+#: InvenTree/models.py:60
+msgid "Select file to attach"
+msgstr ""
+
+#: InvenTree/models.py:62 templates/attachment_table.html:16
+msgid "Comment"
+msgstr ""
+
+#: InvenTree/models.py:62
+msgid "File comment"
+msgstr ""
+
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1908
+#: report/templates/report/inventree_test_report_base.html:91
+#: templates/js/stock.js:1041
+msgid "User"
+msgstr ""
+
+#: InvenTree/models.py:72
+msgid "upload date"
+msgstr ""
+
+#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:101
+#: part/models.py:686 part/models.py:2049 part/templates/part/params.html:27
+#: report/models.py:179 templates/InvenTree/search.html:137
+#: templates/InvenTree/search.html:289 templates/js/part.js:110
+#: templates/js/part.js:553 templates/js/stock.js:944
+msgid "Name"
+msgstr ""
+
+#: InvenTree/models.py:114 build/models.py:134
+#: build/templates/build/detail.html:21 company/models.py:342
+#: company/models.py:494 company/templates/company/detail.html:27
+#: company/templates/company/manufacturer_part_base.html:72
+#: company/templates/company/supplier_part_base.html:71
+#: company/templates/company/supplier_part_detail.html:31 label/models.py:108
+#: order/models.py:101 order/templates/order/purchase_order_detail.html:168
+#: part/models.py:710 part/templates/part/detail.html:54
+#: part/templates/part/set_category.html:14 report/models.py:192
+#: report/models.py:505 report/models.py:544
+#: report/templates/report/inventree_build_order_base.html:118
+#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
+#: templates/InvenTree/search.html:296
+#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
+#: templates/js/build.js:736 templates/js/build.js:1004
+#: templates/js/company.js:56 templates/js/order.js:183
+#: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252
+#: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643
+#: templates/js/stock.js:554 templates/js/stock.js:956
+#: templates/js/stock.js:1015
+msgid "Description"
+msgstr ""
+
+#: InvenTree/models.py:115
+msgid "Description (optional)"
+msgstr ""
+
+#: InvenTree/models.py:123
+msgid "parent"
+msgstr ""
+
+#: InvenTree/settings.py:493
+msgid "English"
+msgstr ""
+
+#: InvenTree/settings.py:494
+msgid "French"
+msgstr ""
+
+#: InvenTree/settings.py:495
+msgid "German"
+msgstr ""
+
+#: InvenTree/settings.py:496
+msgid "Polish"
+msgstr ""
+
+#: InvenTree/settings.py:497
+msgid "Turkish"
+msgstr ""
+
+#: InvenTree/status.py:93
+msgid "Background worker check failed"
+msgstr ""
+
+#: InvenTree/status.py:97
+msgid "Email backend not configured"
+msgstr ""
+
+#: InvenTree/status.py:100
+msgid "InvenTree system health checks failed"
+msgstr ""
+
+#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143
+#: InvenTree/status_codes.py:236
+msgid "Pending"
+msgstr ""
+
+#: InvenTree/status_codes.py:103
+msgid "Placed"
+msgstr ""
+
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239
+msgid "Complete"
+msgstr ""
+
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:238
+msgid "Cancelled"
+msgstr ""
+
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:188
+msgid "Lost"
+msgstr ""
+
+#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
+#: InvenTree/status_codes.py:190
+msgid "Returned"
+msgstr ""
+
+#: InvenTree/status_codes.py:144
+#: order/templates/order/sales_order_base.html:124
+msgid "Shipped"
+msgstr ""
+
+#: InvenTree/status_codes.py:184
+msgid "OK"
+msgstr ""
+
+#: InvenTree/status_codes.py:185
+msgid "Attention needed"
+msgstr ""
+
+#: InvenTree/status_codes.py:186
+msgid "Damaged"
+msgstr ""
+
+#: InvenTree/status_codes.py:187
+msgid "Destroyed"
+msgstr ""
+
+#: InvenTree/status_codes.py:189
+msgid "Rejected"
+msgstr ""
+
+#: InvenTree/status_codes.py:237
+msgid "Production"
+msgstr ""
+
+#: InvenTree/validators.py:22
+msgid "Not a valid currency code"
+msgstr ""
+
+#: InvenTree/validators.py:50
+msgid "Invalid character in part name"
+msgstr ""
+
+#: InvenTree/validators.py:63
+#, python-brace-format
+msgid "IPN must match regex pattern {pat}"
+msgstr ""
+
+#: InvenTree/validators.py:77 InvenTree/validators.py:91
+#: InvenTree/validators.py:105
+msgid "Reference must match pattern"
+msgstr ""
+
+#: InvenTree/validators.py:113
+#, python-brace-format
+msgid "Illegal character in name ({x})"
+msgstr ""
+
+#: InvenTree/validators.py:132 InvenTree/validators.py:148
+msgid "Overage value must not be negative"
+msgstr ""
+
+#: InvenTree/validators.py:150
+msgid "Overage must not exceed 100%"
+msgstr ""
+
+#: InvenTree/validators.py:157
+msgid "Overage must be an integer value or a percentage"
+msgstr ""
+
+#: InvenTree/views.py:587
+msgid "Delete Item"
+msgstr ""
+
+#: InvenTree/views.py:636
+msgid "Check box to confirm item deletion"
+msgstr ""
+
+#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+msgid "Edit User Information"
+msgstr ""
+
+#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+msgid "Set Password"
+msgstr ""
+
+#: InvenTree/views.py:681
+msgid "Password fields must match"
+msgstr ""
+
+#: InvenTree/views.py:887 templates/navbar.html:95
+msgid "System Information"
+msgstr ""
+
+#: barcodes/api.py:53 barcodes/api.py:150
+msgid "Must provide barcode_data parameter"
+msgstr ""
+
+#: barcodes/api.py:126
+msgid "No match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:128
+msgid "Match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:153
+msgid "Must provide stockitem parameter"
+msgstr ""
+
+#: barcodes/api.py:160
+msgid "No matching stock item found"
+msgstr ""
+
+#: barcodes/api.py:190
+msgid "Barcode already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:194
+msgid "Barcode already matches StockLocation object"
+msgstr ""
+
+#: barcodes/api.py:198
+msgid "Barcode already matches Part object"
+msgstr ""
+
+#: barcodes/api.py:204 barcodes/api.py:216
+msgid "Barcode hash already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:222
+msgid "Barcode associated with StockItem"
+msgstr ""
+
+#: build/forms.py:36
+msgid "Build Order reference"
+msgstr ""
+
+#: build/forms.py:37
+msgid "Order target date"
+msgstr ""
+
+#: build/forms.py:41 build/templates/build/build_base.html:136
+#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
+#: order/templates/order/order_base.html:124
+#: order/templates/order/sales_order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/build.js:783 templates/js/order.js:200
+#: templates/js/order.js:298
+msgid "Target Date"
+msgstr ""
+
+#: build/forms.py:42 build/models.py:224
+msgid ""
+"Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227
+#: build/templates/build/allocation_card.html:23
+#: build/templates/build/auto_allocate.html:17
+#: build/templates/build/build_base.html:123
+#: build/templates/build/detail.html:31 common/models.py:703
+#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
+#: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261
+#: order/forms.py:278 order/models.py:593 order/models.py:784
+#: order/templates/order/order_wizard/select_parts.html:32
+#: order/templates/order/purchase_order_detail.html:200
+#: order/templates/order/sales_order_detail.html:70
+#: order/templates/order/sales_order_detail.html:77
+#: order/templates/order/sales_order_detail.html:159
+#: order/templates/order/sales_order_detail.html:224 part/forms.py:342
+#: part/forms.py:371 part/forms.py:387 part/models.py:2178
+#: part/templates/part/allocation.html:19
+#: part/templates/part/allocation.html:53
+#: part/templates/part/part_pricing.html:11
+#: part/templates/part/part_pricing.html:18
+#: part/templates/part/sale_prices.html:85
+#: report/templates/report/inventree_build_order_base.html:114
+#: report/templates/report/inventree_po_report.html:91
+#: report/templates/report/inventree_so_report.html:91
+#: report/templates/report/inventree_test_report_base.html:77
+#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566
+#: stock/templates/stock/item_base.html:244
+#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
+#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
+#: templates/js/stock.js:1033 templates/js/stock.js:1271
+msgid "Quantity"
+msgstr ""
+
+#: build/forms.py:48
+msgid "Number of items to build"
+msgstr ""
+
+#: build/forms.py:90
+msgid "Enter quantity for build output"
+msgstr ""
+
+#: build/forms.py:94 order/forms.py:233 stock/forms.py:118
+msgid "Serial Numbers"
+msgstr ""
+
+#: build/forms.py:96
+msgid "Enter serial numbers for build outputs"
+msgstr ""
+
+#: build/forms.py:102
+msgid "Confirm creation of build output"
+msgstr ""
+
+#: build/forms.py:123
+msgid "Confirm deletion of build output"
+msgstr ""
+
+#: build/forms.py:144
+msgid "Confirm unallocation of stock"
+msgstr ""
+
+#: build/forms.py:168
+msgid "Confirm stock allocation"
+msgstr ""
+
+#: build/forms.py:185
+msgid "Mark build as complete"
+msgstr ""
+
+#: build/forms.py:209 build/templates/build/auto_allocate.html:18
+#: order/forms.py:82 stock/forms.py:347
+#: stock/templates/stock/item_base.html:274
+#: stock/templates/stock/stock_adjust.html:17
+#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
+#: templates/js/barcode.js:531 templates/js/build.js:490
+#: templates/js/stock.js:641
+msgid "Location"
+msgstr ""
+
+#: build/forms.py:210
+msgid "Location of completed parts"
+msgstr ""
+
+#: build/forms.py:214 build/templates/build/build_base.html:128
+#: build/templates/build/detail.html:59 order/models.py:445
+#: order/templates/order/receive_parts.html:24
+#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
+#: templates/js/barcode.js:119 templates/js/build.js:770
+#: templates/js/order.js:187 templates/js/order.js:285
+#: templates/js/stock.js:628 templates/js/stock.js:1279
+msgid "Status"
+msgstr ""
+
+#: build/forms.py:215
+msgid "Build output stock status"
+msgstr ""
+
+#: build/forms.py:222
+msgid "Confirm incomplete"
+msgstr ""
+
+#: build/forms.py:223
+msgid "Confirm completion with incomplete stock allocation"
+msgstr ""
+
+#: build/forms.py:226
+msgid "Confirm build completion"
+msgstr ""
+
+#: build/forms.py:251
+msgid "Confirm cancel"
+msgstr ""
+
+#: build/forms.py:251 build/views.py:66
+msgid "Confirm build cancellation"
+msgstr ""
+
+#: build/forms.py:265
+msgid "Select quantity of stock to allocate"
+msgstr ""
+
+#: build/models.py:65 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:63
+#: part/templates/part/allocation.html:23
+#: report/templates/report/inventree_build_order_base.html:106
+msgid "Build Order"
+msgstr ""
+
+#: build/models.py:66 build/templates/build/index.html:8
+#: build/templates/build/index.html:15 order/templates/order/so_builds.html:12
+#: order/templates/order/so_navbar.html:19
+#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
+#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
+#: templates/InvenTree/search.html:185
+#: templates/InvenTree/settings/tabs.html:31 users/models.py:41
+msgid "Build Orders"
+msgstr ""
+
+#: build/models.py:126
+msgid "Build Order Reference"
+msgstr ""
+
+#: build/models.py:127 order/models.py:99 order/models.py:595
+#: order/templates/order/purchase_order_detail.html:195
+#: order/templates/order/sales_order_detail.html:219 part/models.py:2187
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
+#: templates/js/build.js:565 templates/js/build.js:1008
+msgid "Reference"
+msgstr ""
+
+#: build/models.py:137
+msgid "Brief description of the build"
+msgstr ""
+
+#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/templates/build/detail.html:77
+msgid "Parent Build"
+msgstr ""
+
+#: build/models.py:147
+msgid "BuildOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:152 build/templates/build/auto_allocate.html:16
+#: build/templates/build/build_base.html:118
+#: build/templates/build/detail.html:26 company/models.py:669
+#: order/models.py:637 order/models.py:669
+#: order/templates/order/order_wizard/select_parts.html:30
+#: order/templates/order/purchase_order_detail.html:156
+#: order/templates/order/receive_parts.html:19
+#: order/templates/order/sales_order_detail.html:207 part/models.py:321
+#: part/models.py:1876 part/models.py:1888 part/models.py:1906
+#: part/models.py:1981 part/models.py:2077 part/models.py:2162
+#: part/templates/part/part_app_base.html:8
+#: part/templates/part/part_pricing.html:14 part/templates/part/related.html:29
+#: part/templates/part/set_category.html:13
+#: report/templates/report/inventree_build_order_base.html:110
+#: report/templates/report/inventree_po_report.html:90
+#: report/templates/report/inventree_so_report.html:90
+#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
+#: templates/js/barcode.js:362 templates/js/bom.js:163
+#: templates/js/build.js:741 templates/js/build.js:981
+#: templates/js/company.js:140 templates/js/company.js:238
+#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
+#: templates/js/stock.js:1343
+msgid "Part"
+msgstr ""
+
+#: build/models.py:160
+msgid "Select part to build"
+msgstr ""
+
+#: build/models.py:165
+msgid "Sales Order Reference"
+msgstr ""
+
+#: build/models.py:169
+msgid "SalesOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:174
+msgid "Source Location"
+msgstr ""
+
+#: build/models.py:178
+msgid ""
+"Select location to take stock from for this build (leave blank to take from "
+"any stock location)"
+msgstr ""
+
+#: build/models.py:183
+msgid "Destination Location"
+msgstr ""
+
+#: build/models.py:187
+msgid "Select location where the completed items will be stored"
+msgstr ""
+
+#: build/models.py:191
+msgid "Build Quantity"
+msgstr ""
+
+#: build/models.py:194
+msgid "Number of stock items to build"
+msgstr ""
+
+#: build/models.py:198
+msgid "Completed items"
+msgstr ""
+
+#: build/models.py:200
+msgid "Number of stock items which have been completed"
+msgstr ""
+
+#: build/models.py:204 part/templates/part/part_base.html:160
+msgid "Build Status"
+msgstr ""
+
+#: build/models.py:208
+msgid "Build status code"
+msgstr ""
+
+#: build/models.py:212 stock/models.py:432
+msgid "Batch Code"
+msgstr ""
+
+#: build/models.py:216
+msgid "Batch code for this build output"
+msgstr ""
+
+#: build/models.py:219 order/models.py:105 part/models.py:882
+#: part/templates/part/detail.html:126 templates/js/order.js:293
+msgid "Creation Date"
+msgstr ""
+
+#: build/models.py:223 order/models.py:451
+msgid "Target completion date"
+msgstr ""
+
+#: build/models.py:227 order/models.py:218 templates/js/build.js:788
+msgid "Completion Date"
+msgstr ""
+
+#: build/models.py:233
+msgid "completed by"
+msgstr ""
+
+#: build/models.py:241
+msgid "Issued by"
+msgstr ""
+
+#: build/models.py:242
+msgid "User who issued this build order"
+msgstr ""
+
+#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/templates/build/detail.html:105 order/models.py:119
+#: order/templates/order/order_base.html:138
+#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: report/templates/report/inventree_build_order_base.html:159
+msgid "Responsible"
+msgstr ""
+
+#: build/models.py:251
+msgid "User responsible for this build order"
+msgstr ""
+
+#: build/models.py:256 build/templates/build/detail.html:91
+#: company/templates/company/manufacturer_part_base.html:79
+#: company/templates/company/manufacturer_part_detail.html:28
+#: company/templates/company/supplier_part_base.html:78
+#: company/templates/company/supplier_part_detail.html:28
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
+#: stock/models.py:426 stock/templates/stock/item_base.html:334
+msgid "External Link"
+msgstr ""
+
+#: build/models.py:257 part/models.py:744 stock/models.py:428
+msgid "Link to external URL"
+msgstr ""
+
+#: build/models.py:261 build/templates/build/navbar.html:53
+#: company/models.py:135 company/models.py:501
+#: company/templates/company/navbar.html:70
+#: company/templates/company/navbar.html:73 order/models.py:123
+#: order/models.py:597 order/templates/order/po_navbar.html:29
+#: order/templates/order/po_navbar.html:32
+#: order/templates/order/purchase_order_detail.html:234
+#: order/templates/order/sales_order_detail.html:264
+#: order/templates/order/so_navbar.html:33
+#: order/templates/order/so_navbar.html:36 part/models.py:871
+#: part/templates/part/navbar.html:128
+#: report/templates/report/inventree_build_order_base.html:173
+#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
+#: stock/models.py:498 stock/models.py:1558 stock/models.py:1668
+#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
+#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+msgid "Notes"
+msgstr ""
+
+#: build/models.py:262
+msgid "Extra build notes"
+msgstr ""
+
+#: build/models.py:739
+msgid "No build output specified"
+msgstr ""
+
+#: build/models.py:742
+msgid "Build output is already completed"
+msgstr ""
+
+#: build/models.py:745
+msgid "Build output does not match Build Order"
+msgstr ""
+
+#: build/models.py:838
+msgid "Completed build output"
+msgstr ""
+
+#: build/models.py:1118
+msgid "BuildItem must be unique for build, stock_item and install_into"
+msgstr ""
+
+#: build/models.py:1143
+msgid ""
+"Build item must specify a build output, as master part is marked as trackable"
+msgstr ""
+
+#: build/models.py:1147
+#, python-brace-format
+msgid "Selected stock item not found in BOM for part '{p}'"
+msgstr ""
+
+#: build/models.py:1151
+#, python-brace-format
+msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
+msgstr ""
+
+#: build/models.py:1158 order/models.py:758
+msgid "StockItem is over-allocated"
+msgstr ""
+
+#: build/models.py:1162 order/models.py:761
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1166
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1206 stock/templates/stock/item_base.html:306
+#: templates/InvenTree/search.html:183 templates/js/build.js:714
+#: templates/navbar.html:29
+msgid "Build"
+msgstr ""
+
+#: build/models.py:1207
+msgid "Build to allocate parts"
+msgstr ""
+
+#: build/models.py:1214 part/templates/part/allocation.html:18
+#: part/templates/part/allocation.html:24
+#: part/templates/part/allocation.html:31
+#: part/templates/part/allocation.html:49
+#: stock/templates/stock/item_base.html:8
+#: stock/templates/stock/item_base.html:93
+#: stock/templates/stock/item_base.html:328
+#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
+#: templates/js/stock.js:1004 templates/js/stock.js:1262
+msgid "Stock Item"
+msgstr ""
+
+#: build/models.py:1215
+msgid "Source stock item"
+msgstr ""
+
+#: build/models.py:1228
+msgid "Stock quantity to allocate to build"
+msgstr ""
+
+#: build/models.py:1236
+msgid "Install into"
+msgstr ""
+
+#: build/models.py:1237
+msgid "Destination stock item"
+msgstr ""
+
+#: build/templates/build/allocate.html:7
+msgid "Allocate Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:15
+msgid "Allocate Stock to Build"
+msgstr ""
+
+#: build/templates/build/allocate.html:22
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/allocate.html:23
+msgid "Auto Allocate"
+msgstr ""
+
+#: build/templates/build/allocate.html:25 templates/js/build.js:646
+msgid "Unallocate stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794
+msgid "Unallocate Stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:29
+msgid "Order required parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:30
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32 order/views.py:794
+#: part/templates/part/category.html:127
+msgid "Order Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:36
+msgid "Untracked stock has been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:40
+msgid "Untracked stock has not been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:47
+msgid "This Build Order does not have any associated untracked BOM items"
+msgstr ""
+
+#: build/templates/build/allocation_card.html:21
+#: build/templates/build/complete_output.html:46
+#: order/templates/order/sales_order_detail.html:75
+#: order/templates/order/sales_order_detail.html:157
+#: report/templates/report/inventree_test_report_base.html:75
+#: stock/models.py:420 stock/templates/stock/item_base.html:238
+#: templates/js/build.js:474
+msgid "Serial Number"
+msgstr ""
+
+#: build/templates/build/attachments.html:12
+#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
+#: order/templates/order/po_navbar.html:26
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
+#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: stock/templates/stock/navbar.html:50
+msgid "Attachments"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:9
+msgid "Automatically Allocate Stock"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:10
+msgid ""
+"The following stock items will be allocated to the specified build output"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:37
+msgid "No stock items found that can be automatically allocated to this build"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:39
+msgid "Stock items will have to be manually allocated"
+msgstr ""
+
+#: build/templates/build/build_base.html:16
+#, python-format
+msgid "This Build Order is allocated to Sales Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:22
+#, python-format
+msgid "This Build Order is a child of Build Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:31
+msgid "Build Order is ready to mark as completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:36
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr ""
+
+#: build/templates/build/build_base.html:41
+msgid "Required build quantity has not yet been completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:46
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:65
+#: company/templates/company/company_base.html:40
+#: company/templates/company/manufacturer_part_base.html:25
+#: company/templates/company/supplier_part_base.html:26
+#: order/templates/order/order_base.html:26
+#: order/templates/order/sales_order_base.html:35
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
+#: stock/templates/stock/item_base.html:118
+#: stock/templates/stock/location.html:31
+msgid "Admin view"
+msgstr ""
+
+#: build/templates/build/build_base.html:71
+#: build/templates/build/build_base.html:140
+#: order/templates/order/order_base.html:32
+#: order/templates/order/order_base.html:86
+#: order/templates/order/sales_order_base.html:41
+#: order/templates/order/sales_order_base.html:86
+#: templates/js/table_filters.js:240 templates/js/table_filters.js:259
+#: templates/js/table_filters.js:276
+msgid "Overdue"
+msgstr ""
+
+#: build/templates/build/build_base.html:80
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:84
+msgid "Print Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:90
+#: build/templates/build/build_base.html:215
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:95
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:99
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:101
+#: build/templates/build/build_base.html:199 build/views.py:57
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:114
+#: build/templates/build/detail.html:11
+msgid "Build Details"
+msgstr ""
+
+#: build/templates/build/build_base.html:140
+#, python-format
+msgid "This build was due on %(target)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:147
+#: build/templates/build/detail.html:64
+msgid "Progress"
+msgstr ""
+
+#: build/templates/build/build_base.html:160
+#: build/templates/build/detail.html:84 order/models.py:667
+#: order/templates/order/sales_order_base.html:9
+#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_ship.html:25
+#: part/templates/part/allocation.html:30
+#: report/templates/report/inventree_build_order_base.html:136
+#: report/templates/report/inventree_so_report.html:77
+#: stock/templates/stock/item_base.html:268 templates/js/order.js:245
+msgid "Sales Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:167
+#: build/templates/build/detail.html:98
+#: report/templates/report/inventree_build_order_base.html:153
+msgid "Issued By"
+msgstr ""
+
+#: build/templates/build/build_base.html:207
+msgid "Incomplete Outputs"
+msgstr ""
+
+#: build/templates/build/build_base.html:208
+msgid "Build Order cannot be completed as incomplete build outputs remain"
+msgstr ""
+
+#: build/templates/build/build_children.html:10
+#: build/templates/build/navbar.html:36
+msgid "Child Build Orders"
+msgstr ""
+
+#: build/templates/build/build_output.html:15
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output.html:22
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:23
+msgid "Create New Output"
+msgstr ""
+
+#: build/templates/build/build_output.html:36
+msgid "Create a new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:37
+msgid "No incomplete build outputs remain."
+msgstr ""
+
+#: build/templates/build/build_output.html:38
+msgid "Create a new build output using the button above"
+msgstr ""
+
+#: build/templates/build/build_output.html:49
+msgid "Completed Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:7
+msgid "The Bill of Materials contains trackable parts"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:8
+msgid "Build outputs must be generated individually."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:9
+msgid "Multiple build outputs will be created based on the quantity specified."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:15
+msgid "Trackable parts can have serial numbers specified"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:16
+msgid "Enter serial numbers to generate multiple single build outputs"
+msgstr ""
+
+#: build/templates/build/cancel.html:5
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: build/templates/build/complete.html:8
+msgid "Build Order is complete"
+msgstr ""
+
+#: build/templates/build/complete.html:12
+msgid "Build Order is incomplete"
+msgstr ""
+
+#: build/templates/build/complete.html:15
+msgid "Incompleted build outputs remain"
+msgstr ""
+
+#: build/templates/build/complete.html:18
+msgid "Required build quantity has not been completed"
+msgstr ""
+
+#: build/templates/build/complete.html:21
+msgid "Required stock has not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:10
+msgid "Stock allocation is complete for this output"
+msgstr ""
+
+#: build/templates/build/complete_output.html:14
+msgid "Stock allocation is incomplete"
+msgstr ""
+
+#: build/templates/build/complete_output.html:20
+msgid "tracked parts have not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:41
+msgid "The following items will be created"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:7
+msgid "Select a stock item to allocate to the selected build output"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:11
+#, python-format
+msgid ""
+"The allocated stock will be installed into the following build output:
"
+"%(output)s"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:17
+#, python-format
+msgid "No stock available for %(part)s"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:8
+msgid "Are you sure you want to unallocate this stock?"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:11
+msgid "The selected stock will be unallocated from the build output"
+msgstr ""
+
+#: build/templates/build/detail.html:35
+msgid "Stock Source"
+msgstr ""
+
+#: build/templates/build/detail.html:40
+msgid "Stock can be taken from any available location."
+msgstr ""
+
+#: build/templates/build/detail.html:46 stock/forms.py:169 stock/forms.py:375
+msgid "Destination"
+msgstr ""
+
+#: build/templates/build/detail.html:53
+msgid "Destination location not specified"
+msgstr ""
+
+#: build/templates/build/detail.html:70
+#: stock/templates/stock/item_base.html:292 templates/js/stock.js:636
+#: templates/js/stock.js:1286 templates/js/table_filters.js:107
+#: templates/js/table_filters.js:201
+msgid "Batch"
+msgstr ""
+
+#: build/templates/build/detail.html:116
+#: order/templates/order/order_base.html:111
+#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+msgid "Created"
+msgstr ""
+
+#: build/templates/build/detail.html:127
+msgid "No target date set"
+msgstr ""
+
+#: build/templates/build/detail.html:132 templates/js/build.js:756
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/detail.html:136
+msgid "Build not complete"
+msgstr ""
+
+#: build/templates/build/edit_build_item.html:7
+msgid "Alter the quantity of stock allocated to the build output"
+msgstr ""
+
+#: build/templates/build/index.html:28 build/views.py:667
+msgid "New Build Order"
+msgstr ""
+
+#: build/templates/build/index.html:37 build/templates/build/index.html:38
+msgid "Print Build Orders"
+msgstr ""
+
+#: build/templates/build/index.html:43
+#: order/templates/order/purchase_orders.html:27
+#: order/templates/order/sales_orders.html:27
+msgid "Display calendar view"
+msgstr ""
+
+#: build/templates/build/index.html:46
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:30
+msgid "Display list view"
+msgstr ""
+
+#: build/templates/build/navbar.html:12
+msgid "Build Order Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:15
+#: company/templates/company/navbar.html:15
+#: order/templates/order/po_navbar.html:14
+#: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15
+msgid "Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24
+#: build/views.py:91
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32
+msgid "Build Outputs"
+msgstr ""
+
+#: build/templates/build/navbar.html:39
+msgid "Child Builds"
+msgstr ""
+
+#: build/templates/build/navbar.html:50
+msgid "Build Order Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:12
+msgid "Build Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:14 company/templates/company/notes.html:13
+#: order/templates/order/order_notes.html:15
+#: order/templates/order/sales_order_notes.html:16
+#: part/templates/part/notes.html:14 stock/templates/stock/item_notes.html:15
+msgid "Edit notes"
+msgstr ""
+
+#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
+#: order/templates/order/order_notes.html:27
+#: order/templates/order/sales_order_notes.html:29
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:470
+#: stock/templates/stock/item_notes.html:26
+msgid "Save"
+msgstr ""
+
+#: build/templates/build/unallocate.html:10
+msgid "Are you sure you wish to unallocate all stock for this build?"
+msgstr ""
+
+#: build/templates/build/unallocate.html:12
+msgid "All incomplete stock allocations will be removed from the build"
+msgstr ""
+
+#: build/views.py:77
+msgid "Build was cancelled"
+msgstr ""
+
+#: build/views.py:138
+msgid "Allocated stock to build output"
+msgstr ""
+
+#: build/views.py:150
+msgid "Create Build Output"
+msgstr ""
+
+#: build/views.py:173 stock/models.py:969 stock/views.py:1789
+msgid "Serial numbers already exist"
+msgstr ""
+
+#: build/views.py:182
+msgid "Serial numbers required for trackable build output"
+msgstr ""
+
+#: build/views.py:248
+msgid "Delete Build Output"
+msgstr ""
+
+#: build/views.py:269 build/views.py:359
+msgid "Confirm unallocation of build stock"
+msgstr ""
+
+#: build/views.py:270 build/views.py:360 stock/views.py:425
+msgid "Check the confirmation box"
+msgstr ""
+
+#: build/views.py:282
+msgid "Build output does not match build"
+msgstr ""
+
+#: build/views.py:284 build/views.py:485
+msgid "Build output must be specified"
+msgstr ""
+
+#: build/views.py:296
+msgid "Build output deleted"
+msgstr ""
+
+#: build/views.py:394
+msgid "Complete Build Order"
+msgstr ""
+
+#: build/views.py:400
+msgid "Build order cannot be completed - incomplete outputs remain"
+msgstr ""
+
+#: build/views.py:411
+msgid "Completed build order"
+msgstr ""
+
+#: build/views.py:427
+msgid "Complete Build Output"
+msgstr ""
+
+#: build/views.py:469
+msgid "Invalid stock status value selected"
+msgstr ""
+
+#: build/views.py:476
+msgid "Quantity to complete cannot exceed build output quantity"
+msgstr ""
+
+#: build/views.py:482
+msgid "Confirm completion of incomplete build"
+msgstr ""
+
+#: build/views.py:581
+msgid "Build output completed"
+msgstr ""
+
+#: build/views.py:721
+msgid "Created new build"
+msgstr ""
+
+#: build/views.py:742
+msgid "Edit Build Order Details"
+msgstr ""
+
+#: build/views.py:775
+msgid "Edited build"
+msgstr ""
+
+#: build/views.py:784
+msgid "Delete Build Order"
+msgstr ""
+
+#: build/views.py:799
+msgid "Removed parts from build allocation"
+msgstr ""
+
+#: build/views.py:811
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: build/views.py:854
+msgid "Item must be currently in stock"
+msgstr ""
+
+#: build/views.py:860
+msgid "Stock item is over-allocated"
+msgstr ""
+
+#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575
+#: templates/js/build.js:838 templates/js/build.js:1021
+msgid "Available"
+msgstr ""
+
+#: build/views.py:863
+msgid "Stock item must be selected"
+msgstr ""
+
+#: build/views.py:1026
+msgid "Edit Stock Allocation"
+msgstr ""
+
+#: build/views.py:1030
+msgid "Updated Build Item"
+msgstr ""
+
+#: build/views.py:1059
+msgid "Add Build Order Attachment"
+msgstr ""
+
+#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172
+#: stock/views.py:277
+msgid "Added attachment"
+msgstr ""
+
+#: build/views.py:1108 order/views.py:189 order/views.py:210
+msgid "Edit Attachment"
+msgstr ""
+
+#: build/views.py:1118 order/views.py:193 order/views.py:214
+msgid "Attachment updated"
+msgstr ""
+
+#: build/views.py:1128 order/views.py:229 order/views.py:243
+msgid "Delete Attachment"
+msgstr ""
+
+#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333
+msgid "Deleted attachment"
+msgstr ""
+
+#: common/models.py:56
+msgid "InvenTree Instance Name"
+msgstr ""
+
+#: common/models.py:58
+msgid "String descriptor for the server instance"
+msgstr ""
+
+#: common/models.py:62
+msgid "Use instance name"
+msgstr ""
+
+#: common/models.py:63
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:69 company/models.py:97 company/models.py:98
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:70
+msgid "Internal company name"
+msgstr ""
+
+#: common/models.py:75
+msgid "Base URL"
+msgstr ""
+
+#: common/models.py:76
+msgid "Base URL for server instance"
+msgstr ""
+
+#: common/models.py:82
+msgid "Default Currency"
+msgstr ""
+
+#: common/models.py:83
+msgid "Default currency"
+msgstr ""
+
+#: common/models.py:89
+msgid "Download from URL"
+msgstr ""
+
+#: common/models.py:90
+msgid "Allow download of remote images and files from external URL"
+msgstr ""
+
+#: common/models.py:96
+msgid "Barcode Support"
+msgstr ""
+
+#: common/models.py:97
+msgid "Enable barcode scanner support"
+msgstr ""
+
+#: common/models.py:103
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:104
+msgid "Regular expression pattern for matching Part IPN"
+msgstr ""
+
+#: common/models.py:108
+msgid "Allow Duplicate IPN"
+msgstr ""
+
+#: common/models.py:109
+msgid "Allow multiple parts to share the same IPN"
+msgstr ""
+
+#: common/models.py:115
+msgid "Allow Editing IPN"
+msgstr ""
+
+#: common/models.py:116
+msgid "Allow changing the IPN value while editing a part"
+msgstr ""
+
+#: common/models.py:122
+msgid "Copy Part BOM Data"
+msgstr ""
+
+#: common/models.py:123
+msgid "Copy BOM data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:129
+msgid "Copy Part Parameter Data"
+msgstr ""
+
+#: common/models.py:130
+msgid "Copy parameter data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:136
+msgid "Copy Part Test Data"
+msgstr ""
+
+#: common/models.py:137
+msgid "Copy test data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:143
+msgid "Copy Category Parameter Templates"
+msgstr ""
+
+#: common/models.py:144
+msgid "Copy category parameter templates when creating a part"
+msgstr ""
+
+#: common/models.py:150
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:151
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:157 part/models.py:2079 part/templates/part/detail.html:160
+#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:24
+#: templates/js/table_filters.js:310
+msgid "Template"
+msgstr ""
+
+#: common/models.py:158
+msgid "Parts are templates by default"
+msgstr ""
+
+#: common/models.py:164 part/models.py:834 part/templates/part/detail.html:170
+#: templates/js/table_filters.js:123 templates/js/table_filters.js:322
+msgid "Assembly"
+msgstr ""
+
+#: common/models.py:165
+msgid "Parts can be assembled from other components by default"
+msgstr ""
+
+#: common/models.py:171 part/models.py:840 part/templates/part/detail.html:180
+#: templates/js/table_filters.js:326
+msgid "Component"
+msgstr ""
+
+#: common/models.py:172
+msgid "Parts can be used as sub-components by default"
+msgstr ""
+
+#: common/models.py:178 part/models.py:851 part/templates/part/detail.html:200
+msgid "Purchaseable"
+msgstr ""
+
+#: common/models.py:179
+msgid "Parts are purchaseable by default"
+msgstr ""
+
+#: common/models.py:185 part/models.py:856 part/templates/part/detail.html:210
+#: templates/js/table_filters.js:334
+msgid "Salable"
+msgstr ""
+
+#: common/models.py:186
+msgid "Parts are salable by default"
+msgstr ""
+
+#: common/models.py:192 part/models.py:846 part/templates/part/detail.html:190
+#: templates/js/table_filters.js:32 templates/js/table_filters.js:338
+msgid "Trackable"
+msgstr ""
+
+#: common/models.py:193
+msgid "Parts are trackable by default"
+msgstr ""
+
+#: common/models.py:199 part/models.py:866 part/templates/part/detail.html:150
+#: templates/js/table_filters.js:28
+msgid "Virtual"
+msgstr ""
+
+#: common/models.py:200
+msgid "Parts are virtual by default"
+msgstr ""
+
+#: common/models.py:206
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:207
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:213
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:214
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:220
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:221
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:231
+msgid "Test Reports"
+msgstr ""
+
+#: common/models.py:232
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:238
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:239
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:245
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:246
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:252
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:253
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:255 part/templates/part/detail.html:121
+msgid "days"
+msgstr ""
+
+#: common/models.py:260
+msgid "Build Expired Stock"
+msgstr ""
+
+#: common/models.py:261
+msgid "Allow building with expired stock"
+msgstr ""
+
+#: common/models.py:267
+msgid "Stock Ownership Control"
+msgstr ""
+
+#: common/models.py:268
+msgid "Enable ownership control over stock locations and items"
+msgstr ""
+
+#: common/models.py:274
+msgid "Group by Part"
+msgstr ""
+
+#: common/models.py:275
+msgid "Group stock items by part reference in table views"
+msgstr ""
+
+#: common/models.py:281
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:282
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:288
+msgid "Build Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:289
+msgid "Prefix value for build order reference"
+msgstr ""
+
+#: common/models.py:294
+msgid "Build Order Reference Regex"
+msgstr ""
+
+#: common/models.py:295
+msgid "Regular expression pattern for matching build order reference"
+msgstr ""
+
+#: common/models.py:299
+msgid "Sales Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:300
+msgid "Prefix value for sales order reference"
+msgstr ""
+
+#: common/models.py:305
+msgid "Purchase Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:306
+msgid "Prefix value for purchase order reference"
+msgstr ""
+
+#: common/models.py:529
+msgid "Settings key (must be unique - case insensitive"
+msgstr ""
+
+#: common/models.py:531
+msgid "Settings value"
+msgstr ""
+
+#: common/models.py:566
+msgid "Must be an integer value"
+msgstr ""
+
+#: common/models.py:589
+msgid "Value must be a boolean value"
+msgstr ""
+
+#: common/models.py:600
+msgid "Value must be an integer value"
+msgstr ""
+
+#: common/models.py:623
+msgid "Key string must be unique"
+msgstr ""
+
+#: common/models.py:704 company/forms.py:177
+msgid "Price break quantity"
+msgstr ""
+
+#: common/models.py:712 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+msgid "Price"
+msgstr ""
+
+#: common/models.py:713
+msgid "Unit price at specified quantity"
+msgstr ""
+
+#: common/models.py:736
+msgid "Default"
+msgstr ""
+
+#: common/templates/common/edit_setting.html:11
+msgid "Current value"
+msgstr ""
+
+#: common/views.py:25
+msgid "Change Setting"
+msgstr ""
+
+#: common/views.py:94
+msgid "Supplied value is not allowed"
+msgstr ""
+
+#: common/views.py:103
+msgid "Supplied value must be a boolean"
+msgstr ""
+
+#: company/forms.py:38 company/models.py:145
+#: company/templates/company/detail.html:42
+msgid "Currency"
+msgstr ""
+
+#: company/forms.py:39 company/models.py:147
+msgid "Default currency used for this company"
+msgstr ""
+
+#: company/forms.py:77 part/forms.py:46
+msgid "URL"
+msgstr ""
+
+#: company/forms.py:78 part/forms.py:47
+msgid "Image URL"
+msgstr ""
+
+#: company/forms.py:118
+msgid "Single Price"
+msgstr ""
+
+#: company/forms.py:120
+msgid "Single quantity price"
+msgstr ""
+
+#: company/forms.py:128 company/models.py:324
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/forms.py:134 company/models.py:331
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/forms.py:136 company/models.py:330
+#: company/templates/company/manufacturer_part_base.html:89
+#: company/templates/company/manufacturer_part_detail.html:26
+#: company/templates/company/supplier_part_base.html:101
+#: company/templates/company/supplier_part_detail.html:35
+#: order/templates/order/purchase_order_detail.html:183 part/bom.py:171
+#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:102
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:103
+msgid "Description of the company"
+msgstr ""
+
+#: company/models.py:107 company/templates/company/company_base.html:70
+#: company/templates/company/detail.html:33 templates/js/company.js:60
+msgid "Website"
+msgstr ""
+
+#: company/models.py:107
+msgid "Company website URL"
+msgstr ""
+
+#: company/models.py:110 company/templates/company/company_base.html:77
+msgid "Address"
+msgstr ""
+
+#: company/models.py:111
+msgid "Company address"
+msgstr ""
+
+#: company/models.py:114
+msgid "Phone number"
+msgstr ""
+
+#: company/models.py:115
+msgid "Contact phone number"
+msgstr ""
+
+#: company/models.py:118 company/templates/company/company_base.html:91
+msgid "Email"
+msgstr ""
+
+#: company/models.py:118
+msgid "Contact email address"
+msgstr ""
+
+#: company/models.py:121 company/templates/company/company_base.html:98
+msgid "Contact"
+msgstr ""
+
+#: company/models.py:122
+msgid "Point of contact"
+msgstr ""
+
+#: company/models.py:124 company/models.py:336 company/models.py:488
+#: order/models.py:103 part/models.py:743
+#: report/templates/report/inventree_build_order_base.html:165
+#: stock/models.py:1560 templates/js/company.js:188 templates/js/company.js:318
+#: templates/js/part.js:431
+msgid "Link"
+msgstr ""
+
+#: company/models.py:124
+msgid "Link to external company information"
+msgstr ""
+
+#: company/models.py:132 part/models.py:753
+msgid "Image"
+msgstr ""
+
+#: company/models.py:137
+msgid "is customer"
+msgstr ""
+
+#: company/models.py:137
+msgid "Do you sell items to this company?"
+msgstr ""
+
+#: company/models.py:139
+msgid "is supplier"
+msgstr ""
+
+#: company/models.py:139
+msgid "Do you purchase items from this company?"
+msgstr ""
+
+#: company/models.py:141
+msgid "is manufacturer"
+msgstr ""
+
+#: company/models.py:141
+msgid "Does this company manufacture parts?"
+msgstr ""
+
+#: company/models.py:308 company/models.py:459 stock/models.py:373
+#: stock/templates/stock/item_base.html:224
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:312 company/models.py:463 order/views.py:1372
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:323 company/templates/company/detail.html:57
+#: company/templates/company/manufacturer_part_base.html:85
+#: company/templates/company/manufacturer_part_detail.html:25
+#: company/templates/company/supplier_part_base.html:94
+#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
+#: part/bom.py:241 stock/templates/stock/item_base.html:341
+#: templates/js/company.js:44 templates/js/company.js:165
+#: templates/js/company.js:289
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:337
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:343
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:469 company/templates/company/detail.html:62
+#: company/templates/company/supplier_part_base.html:84
+#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
+#: order/templates/order/order_base.html:92
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
+#: part/bom.py:286 stock/templates/stock/item_base.html:353
+#: templates/js/company.js:48 templates/js/company.js:263
+#: templates/js/order.js:170
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:470
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:475 company/templates/company/supplier_part_base.html:88
+#: company/templates/company/supplier_part_detail.html:26
+#: order/templates/order/purchase_order_detail.html:174 part/bom.py:176
+#: part/bom.py:287
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:476
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:482
+#: company/templates/company/manufacturer_part_base.html:6
+#: company/templates/company/manufacturer_part_base.html:19
+#: stock/templates/stock/item_base.html:346
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:483
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:489
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:495
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:500 company/templates/company/supplier_part_base.html:115
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2190
+#: report/templates/report/inventree_po_report.html:93
+#: report/templates/report/inventree_so_report.html:93
+msgid "Note"
+msgstr ""
+
+#: company/models.py:504
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:504
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:506 company/templates/company/supplier_part_base.html:108
+#: stock/models.py:397 stock/templates/stock/item_base.html:299
+#: templates/js/stock.js:667
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:506
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:508
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:508
+msgid "Order multiple"
+msgstr ""
+
+#: company/templates/company/assigned_stock.html:10
+#: company/templates/company/navbar.html:62
+#: company/templates/company/navbar.html:65 templates/js/build.js:467
+msgid "Assigned Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:9
+#: company/templates/company/company_base.html:35
+#: templates/InvenTree/search.html:304 templates/js/company.js:33
+msgid "Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:25
+#: part/templates/part/part_thumb.html:21
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
+#: part/templates/part/part_thumb.html:23
+msgid "Download image from URL"
+msgstr ""
+
+#: company/templates/company/company_base.html:46 order/views.py:306
+msgid "Create Purchase Order"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+msgid "Edit company information"
+msgstr ""
+
+#: company/templates/company/company_base.html:56 company/views.py:326
+msgid "Delete Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:64
+#: company/templates/company/detail.html:10
+#: company/templates/company/navbar.html:12
+msgid "Company Details"
+msgstr ""
+
+#: company/templates/company/company_base.html:84
+msgid "Phone"
+msgstr ""
+
+#: company/templates/company/delete.html:7
+#, python-format
+msgid "Are you sure you want to delete company '%(name)s'?"
+msgstr ""
+
+#: company/templates/company/delete.html:12
+#, python-format
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
+"If this supplier is deleted, these supplier part entries will also be "
+"deleted."
+msgstr ""
+
+#: company/templates/company/detail.html:21
+msgid "Company Name"
+msgstr ""
+
+#: company/templates/company/detail.html:36
+msgid "No website specified"
+msgstr ""
+
+#: company/templates/company/detail.html:45
+msgid "Uses default currency"
+msgstr ""
+
+#: company/templates/company/detail.html:67 order/models.py:440
+#: order/templates/order/sales_order_base.html:92 stock/models.py:415
+#: stock/models.py:416 stock/templates/stock/item_base.html:251
+#: templates/js/company.js:40 templates/js/order.js:267
+msgid "Customer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:11
+#: templates/InvenTree/search.html:149
+msgid "Manufacturer Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:22
+msgid "Create new manufacturer part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:23
+#: part/templates/part/manufacturer.html:19
+msgid "New Manufacturer Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:28
+#: company/templates/company/detail_supplier_part.html:27
+#: company/templates/company/manufacturer_part_suppliers.html:20
+#: part/templates/part/category.html:122
+#: part/templates/part/manufacturer.html:22
+#: part/templates/part/supplier.html:20
+msgid "Options"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32
+#: part/templates/part/category.html:127
+msgid "Order parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:66
+#: company/templates/company/detail_supplier_part.html:66
+#: part/templates/part/bom.html:159 part/templates/part/category.html:118
+#: templates/js/stock.js:1157
+msgid "New Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:67
+#: company/templates/company/detail_supplier_part.html:67
+msgid "Create new Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:72
+#: company/views.py:71 part/templates/part/manufacturer.html:52
+#: part/templates/part/supplier.html:56
+msgid "New Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:73
+#: company/views.py:284
+msgid "Create new Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:10
+msgid "Supplier Stock"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:37
+#: company/templates/company/supplier_part_stock.html:34
+#: part/templates/part/category.html:114 part/templates/part/category.html:128
+#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163
+msgid "Export"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:11
+#: company/templates/company/manufacturer_part_navbar.html:11
+#: company/templates/company/manufacturer_part_suppliers.html:10
+#: templates/InvenTree/search.html:164
+msgid "Supplier Parts"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:21
+#: order/templates/order/order_wizard/select_parts.html:42
+#: order/templates/order/purchase_order_detail.html:75
+msgid "Create new supplier part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:22
+#: company/templates/company/manufacturer_part_suppliers.html:17
+#: order/templates/order/purchase_order_detail.html:74
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1163
+msgid "New Supplier Part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:72
+#: company/templates/company/manufacturer_part_suppliers.html:47
+#: company/views.py:64 order/templates/order/purchase_orders.html:183
+#: part/templates/part/supplier.html:50
+msgid "New Supplier"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:73 company/views.py:281
+#: order/templates/order/purchase_orders.html:184
+msgid "Create new Supplier"
+msgstr ""
+
+#: company/templates/company/index.html:8
+msgid "Supplier List"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:36
+#: company/templates/company/supplier_part_base.html:36
+#: company/templates/company/supplier_part_orders.html:17
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+msgid "Order part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:41
+msgid "Edit manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:45
+msgid "Delete manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:57
+#: company/templates/company/manufacturer_part_detail.html:10
+msgid "Manufacturer Part Details"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:62
+#: company/templates/company/manufacturer_part_detail.html:18
+#: company/templates/company/supplier_part_base.html:61
+#: company/templates/company/supplier_part_detail.html:18
+msgid "Internal Part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:6
+msgid "Are you sure you want to delete the following Manufacturer Parts?"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:36
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this manufacturer part. If you "
+"delete it, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:14
+#: company/views.py:63 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: templates/navbar.html:35
+msgid "Suppliers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:19
+msgid "Manufacturer Part Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:22
+#: company/templates/company/navbar.html:41
+#: company/templates/company/supplier_part_navbar.html:15
+#: part/templates/part/navbar.html:36 stock/api.py:51
+#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
+#: templates/InvenTree/search.html:232
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:26
+msgid "Manufacturer Part Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:29
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/supplier.html:22
+msgid "Delete supplier parts"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44
+#: part/templates/part/related.html:44 part/templates/part/supplier.html:22
+#: stock/views.py:1002 users/models.py:184
+msgid "Delete"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:48
+#: part/templates/part/supplier.html:51
+msgid "Create new supplier"
+msgstr ""
+
+#: company/templates/company/navbar.html:20
+#: company/templates/company/navbar.html:23
+msgid "Manufactured Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:29
+#: company/templates/company/navbar.html:32
+msgid "Supplied Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:33
+#: stock/templates/stock/location.html:107
+#: stock/templates/stock/location.html:122
+#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location_navbar.html:22
+#: stock/templates/stock/location_navbar.html:29
+#: templates/InvenTree/search.html:198 templates/js/stock.js:968
+#: templates/stats.html:72 templates/stats.html:81 users/models.py:40
+msgid "Stock Items"
+msgstr ""
+
+#: company/templates/company/navbar.html:47
+#: company/templates/company/navbar.html:56
+#: company/templates/company/navbar.html:59
+#: company/templates/company/sales_orders.html:11
+#: order/templates/order/sales_orders.html:8
+#: order/templates/order/sales_orders.html:13
+#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
+#: templates/InvenTree/search.html:345
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: users/models.py:43
+msgid "Sales Orders"
+msgstr ""
+
+#: company/templates/company/navbar.html:50
+#: company/templates/company/purchase_orders.html:10
+#: order/templates/order/purchase_orders.html:8
+#: order/templates/order/purchase_orders.html:13
+#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
+#: templates/InvenTree/search.html:325
+#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: users/models.py:42
+msgid "Purchase Orders"
+msgstr ""
+
+#: company/templates/company/notes.html:11
+msgid "Company Notes"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:18
+#: order/templates/order/purchase_orders.html:20
+msgid "Create new purchase order"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:19
+#: order/templates/order/purchase_orders.html:21
+msgid "New Purchase Order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:19
+#: order/templates/order/sales_orders.html:20
+msgid "Create new sales order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:20
+#: order/templates/order/sales_orders.html:21
+msgid "New Sales Order"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:7
+#: company/templates/company/supplier_part_base.html:20 stock/models.py:382
+#: stock/templates/stock/item_base.html:358 templates/js/company.js:279
+msgid "Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:40
+msgid "Edit supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:44
+msgid "Delete supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:56
+#: company/templates/company/supplier_part_detail.html:10
+msgid "Supplier Part Details"
+msgstr ""
+
+#: company/templates/company/supplier_part_delete.html:5
+msgid "Are you sure you want to delete the following Supplier Parts?"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:12
+#: company/templates/company/supplier_part_stock.html:10
+msgid "Supplier Part Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:19
+#: company/templates/company/supplier_part_orders.html:10
+msgid "Supplier Part Orders"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:26
+msgid "Supplier Part Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:29
+msgid "Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_orders.html:18
+#: part/templates/part/orders.html:18
+msgid "Order Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:11
+msgid "Pricing Information"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
+#: part/templates/part/sale_prices.html:17 part/views.py:2624
+msgid "Add Price Break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:38
+#: part/templates/part/sale_prices.html:46
+msgid "No price break information found"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:89
+#: part/templates/part/sale_prices.html:97
+msgid "Edit price break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:90
+#: part/templates/part/sale_prices.html:98
+msgid "Delete price break"
+msgstr ""
+
+#: company/views.py:70 part/templates/part/navbar.html:72
+#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: templates/navbar.html:36
+msgid "Manufacturers"
+msgstr ""
+
+#: company/views.py:77 templates/InvenTree/search.html:336
+#: templates/navbar.html:45
+msgid "Customers"
+msgstr ""
+
+#: company/views.py:78 order/templates/order/sales_orders.html:185
+msgid "New Customer"
+msgstr ""
+
+#: company/views.py:86
+msgid "Companies"
+msgstr ""
+
+#: company/views.py:87
+msgid "New Company"
+msgstr ""
+
+#: company/views.py:169 part/views.py:848
+msgid "Download Image"
+msgstr ""
+
+#: company/views.py:198 part/views.py:880
+msgid "Image size exceeds maximum allowable size for download"
+msgstr ""
+
+#: company/views.py:214 part/views.py:896
+msgid "Supplied URL is not a valid image file"
+msgstr ""
+
+#: company/views.py:243
+msgid "Update Company Image"
+msgstr ""
+
+#: company/views.py:249
+msgid "Updated company image"
+msgstr ""
+
+#: company/views.py:259
+msgid "Edit Company"
+msgstr ""
+
+#: company/views.py:264
+msgid "Edited company information"
+msgstr ""
+
+#: company/views.py:287 order/templates/order/sales_orders.html:186
+msgid "Create new Customer"
+msgstr ""
+
+#: company/views.py:289
+msgid "Create new Company"
+msgstr ""
+
+#: company/views.py:316
+msgid "Created new company"
+msgstr ""
+
+#: company/views.py:332
+msgid "Company was deleted"
+msgstr ""
+
+#: company/views.py:357
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: company/views.py:366
+msgid "Create New Manufacturer Part"
+msgstr ""
+
+#: company/views.py:440
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: company/views.py:528
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: company/views.py:578 templates/js/stock.js:1164
+msgid "Create new Supplier Part"
+msgstr ""
+
+#: company/views.py:722
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: company/views.py:799 part/views.py:2628
+msgid "Added new price break"
+msgstr ""
+
+#: company/views.py:855 part/views.py:2672
+msgid "Edit Price Break"
+msgstr ""
+
+#: company/views.py:870 part/views.py:2686
+msgid "Delete Price Break"
+msgstr ""
+
+#: label/api.py:56 report/api.py:201
+msgid "No valid objects provided to template"
+msgstr ""
+
+#: label/models.py:102
+msgid "Label name"
+msgstr ""
+
+#: label/models.py:109
+msgid "Label description"
+msgstr ""
+
+#: label/models.py:116 stock/forms.py:202
+msgid "Label"
+msgstr ""
+
+#: label/models.py:117
+msgid "Label template file"
+msgstr ""
+
+#: label/models.py:123 report/models.py:274
+msgid "Enabled"
+msgstr ""
+
+#: label/models.py:124
+msgid "Label template is enabled"
+msgstr ""
+
+#: label/models.py:129
+msgid "Width [mm]"
+msgstr ""
+
+#: label/models.py:130
+msgid "Label width, specified in mm"
+msgstr ""
+
+#: label/models.py:136
+msgid "Height [mm]"
+msgstr ""
+
+#: label/models.py:137
+msgid "Label height, specified in mm"
+msgstr ""
+
+#: label/models.py:222 label/models.py:275
+msgid "Query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: label/models.py:223 label/models.py:276 report/models.py:294
+#: report/models.py:415 report/models.py:449
+msgid "Filters"
+msgstr ""
+
+#: order/forms.py:27 order/templates/order/order_base.html:47
+msgid "Place order"
+msgstr ""
+
+#: order/forms.py:38 order/templates/order/order_base.html:54
+msgid "Mark order as complete"
+msgstr ""
+
+#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
+#: order/templates/order/sales_order_base.html:59
+msgid "Cancel order"
+msgstr ""
+
+#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+msgid "Ship order"
+msgstr ""
+
+#: order/forms.py:82
+msgid "Receive parts to this location"
+msgstr ""
+
+#: order/forms.py:103
+msgid "Purchase Order reference"
+msgstr ""
+
+#: order/forms.py:110
+msgid "Target date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:138
+msgid "Enter sales order number"
+msgstr ""
+
+#: order/forms.py:145 order/models.py:452
+msgid ""
+"Target date for order completion. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:235
+msgid "Enter stock item serial numbers"
+msgstr ""
+
+#: order/forms.py:241
+msgid "Enter quantity of stock items"
+msgstr ""
+
+#: order/models.py:99
+msgid "Order reference"
+msgstr ""
+
+#: order/models.py:101
+msgid "Order description"
+msgstr ""
+
+#: order/models.py:103
+msgid "Link to external page"
+msgstr ""
+
+#: order/models.py:111 part/templates/part/detail.html:132
+msgid "Created By"
+msgstr ""
+
+#: order/models.py:118
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:123
+msgid "Order notes"
+msgstr ""
+
+#: order/models.py:182 order/models.py:445
+msgid "Purchase order status"
+msgstr ""
+
+#: order/models.py:191
+msgid "Company from which the items are being ordered"
+msgstr ""
+
+#: order/models.py:194 order/templates/order/order_base.html:98
+#: templates/js/order.js:179
+msgid "Supplier Reference"
+msgstr ""
+
+#: order/models.py:194
+msgid "Supplier order reference code"
+msgstr ""
+
+#: order/models.py:201
+msgid "received by"
+msgstr ""
+
+#: order/models.py:206
+msgid "Issue Date"
+msgstr ""
+
+#: order/models.py:207
+msgid "Date order was issued"
+msgstr ""
+
+#: order/models.py:212
+msgid "Target Delivery Date"
+msgstr ""
+
+#: order/models.py:213
+msgid ""
+"Expected date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/models.py:219
+msgid "Date order was completed"
+msgstr ""
+
+#: order/models.py:243 order/models.py:342 part/views.py:1586
+#: stock/models.py:270 stock/models.py:953
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:248
+msgid "Part supplier must match PO supplier"
+msgstr ""
+
+#: order/models.py:337
+msgid "Lines can only be received against an order marked as 'Placed'"
+msgstr ""
+
+#: order/models.py:359
+msgid "Received items"
+msgstr ""
+
+#: order/models.py:441
+msgid "Company to which the items are being sold"
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer Reference "
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer order reference code"
+msgstr ""
+
+#: order/models.py:455 templates/js/order.js:303
+msgid "Shipment Date"
+msgstr ""
+
+#: order/models.py:462
+msgid "shipped by"
+msgstr ""
+
+#: order/models.py:506
+msgid "SalesOrder cannot be shipped as it is not currently pending"
+msgstr ""
+
+#: order/models.py:593
+msgid "Item quantity"
+msgstr ""
+
+#: order/models.py:595
+msgid "Line item reference"
+msgstr ""
+
+#: order/models.py:597
+msgid "Line item notes"
+msgstr ""
+
+#: order/models.py:623 order/models.py:667
+#: part/templates/part/allocation.html:17
+#: part/templates/part/allocation.html:45
+msgid "Order"
+msgstr ""
+
+#: order/models.py:624 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:24
+#: report/templates/report/inventree_po_report.html:77
+#: stock/templates/stock/item_base.html:313 templates/js/order.js:148
+msgid "Purchase Order"
+msgstr ""
+
+#: order/models.py:638
+msgid "Supplier part"
+msgstr ""
+
+#: order/models.py:641 order/templates/order/order_base.html:131
+#: order/templates/order/purchase_order_detail.html:214
+#: order/templates/order/receive_parts.html:22
+#: order/templates/order/sales_order_base.html:131
+msgid "Received"
+msgstr ""
+
+#: order/models.py:641
+msgid "Number of items received"
+msgstr ""
+
+#: order/models.py:648 stock/models.py:508
+#: stock/templates/stock/item_base.html:320
+msgid "Purchase Price"
+msgstr ""
+
+#: order/models.py:649
+msgid "Unit purchase price"
+msgstr ""
+
+#: order/models.py:743 order/models.py:745
+msgid "Stock item has not been assigned"
+msgstr ""
+
+#: order/models.py:749
+msgid "Cannot allocate stock item to a line with a different part"
+msgstr ""
+
+#: order/models.py:751
+msgid "Cannot allocate stock to a line without a part"
+msgstr ""
+
+#: order/models.py:754
+msgid "Allocation quantity cannot exceed stock quantity"
+msgstr ""
+
+#: order/models.py:764
+msgid "Quantity must be 1 for serialized stock item"
+msgstr ""
+
+#: order/models.py:769
+msgid "Line"
+msgstr ""
+
+#: order/models.py:780
+msgid "Item"
+msgstr ""
+
+#: order/models.py:781
+msgid "Select stock item to allocate"
+msgstr ""
+
+#: order/models.py:784
+msgid "Enter stock allocation quantity"
+msgstr ""
+
+#: order/templates/order/delete_attachment.html:5
+#: stock/templates/stock/attachment_delete.html:5
+#: templates/attachment_delete.html:5
+msgid "Are you sure you want to delete this attachment?"
+msgstr ""
+
+#: order/templates/order/order_base.html:39
+#: order/templates/order/sales_order_base.html:48
+msgid "Print"
+msgstr ""
+
+#: order/templates/order/order_base.html:43
+#: order/templates/order/sales_order_base.html:52
+msgid "Edit order information"
+msgstr ""
+
+#: order/templates/order/order_base.html:51
+msgid "Receive items"
+msgstr ""
+
+#: order/templates/order/order_base.html:64
+msgid "Export order to file"
+msgstr ""
+
+#: order/templates/order/order_base.html:72
+#: order/templates/order/po_navbar.html:11
+msgid "Purchase Order Details"
+msgstr ""
+
+#: order/templates/order/order_base.html:77
+#: order/templates/order/sales_order_base.html:77
+msgid "Order Reference"
+msgstr ""
+
+#: order/templates/order/order_base.html:82
+#: order/templates/order/sales_order_base.html:82
+msgid "Order Status"
+msgstr ""
+
+#: order/templates/order/order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:122
+msgid "Issued"
+msgstr ""
+
+#: order/templates/order/order_cancel.html:7
+#: order/templates/order/sales_order_cancel.html:9
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_complete.html:7
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: order/templates/order/order_complete.html:10
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: order/templates/order/order_complete.html:11
+msgid "Marking this order as complete will remove these line items."
+msgstr ""
+
+#: order/templates/order/order_issue.html:7
+msgid ""
+"After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_notes.html:13
+msgid "Order Notes"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:9
+msgid "Step 1 of 2 - Select Part Suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:14
+msgid "Select suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:18
+msgid "No purchaseable parts selected"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:31
+msgid "Select Supplier"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:57
+#, python-format
+msgid "Select a supplier for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:69
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:8
+msgid "Step 2 of 2 - Select Purchase Orders"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:12
+msgid "Select existing purchase orders, or create new orders."
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:31
+#: templates/js/order.js:205 templates/js/order.js:308
+msgid "Items"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:32
+msgid "Select Purchase Order"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:45
+#, python-format
+msgid "Create new purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:68
+#, python-format
+msgid "Select a purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/po_attachments.html:12
+#: order/templates/order/po_navbar.html:23
+msgid "Purchase Order Attachments"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:17
+msgid "Received Stock Items"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:20
+#: order/templates/order/po_received_items.html:12
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:14
+msgid "Purchase Order Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:22 order/views.py:1108
+#: order/views.py:1191
+msgid "Add Line Item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:45
+#: order/templates/order/purchase_order_detail.html:125
+#: part/templates/part/category.html:185 part/templates/part/category.html:227
+#: stock/templates/stock/location.html:191 templates/js/stock.js:708
+#: templates/js/stock.js:1169
+msgid "New Location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:46
+#: order/templates/order/purchase_order_detail.html:126
+#: stock/templates/stock/location.html:42
+msgid "Create new stock location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:139
+msgid "No line items found"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:205
+msgid "Unit Price"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:246
+#: order/templates/order/sales_order_detail.html:294
+msgid "Edit line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:247
+msgid "Delete line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:252
+msgid "Receive line item"
+msgstr ""
+
+#: order/templates/order/purchase_orders.html:24
+#: order/templates/order/sales_orders.html:24
+msgid "Print Order Reports"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:8
+#, python-format
+msgid "Receive outstanding parts for %(order)s - %(desc)s"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: part/models.py:322 part/templates/part/cat_link.html:7
+#: part/templates/part/category.html:99
+#: part/templates/part/category_navbar.html:22
+#: part/templates/part/category_navbar.html:29
+#: part/templates/part/category_partlist.html:10
+#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
+#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/navbar.html:23 templates/stats.html:59 templates/stats.html:68
+#: users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:15
+msgid "Select parts to receive against this order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:20
+msgid "Order Code"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:21
+#: part/templates/part/part_base.html:129 templates/js/part.js:414
+msgid "On Order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:23
+msgid "Receive"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:36
+msgid "Error: Referenced part has been removed"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:57
+msgid "Remove line"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:15
+msgid "This SalesOrder has not been fully allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:64
+msgid "Packing List"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/so_navbar.html:12
+msgid "Sales Order Details"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+msgid "Customer Reference"
+msgstr ""
+
+#: order/templates/order/sales_order_cancel.html:8
+#: order/templates/order/sales_order_ship.html:9
+#: part/templates/part/bom_duplicate.html:12
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:13
+msgid "Sales Order Items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342
+#: templates/js/build.js:627 templates/js/build.js:1044
+msgid "Actions"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515
+#: templates/js/build.js:849
+msgid "Edit stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517
+#: templates/js/build.js:850
+msgid "Delete stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:170
+msgid "No matching line items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:199
+msgid "ID"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579
+#: templates/js/build.js:845
+msgid "Allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:231
+msgid "Fulfilled"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:279
+msgid "Allocate serial numbers"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641
+msgid "Allocate stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:285
+msgid "Purchase stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634
+#: templates/js/build.js:1052
+msgid "Build stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:295
+msgid "Delete line item "
+msgstr ""
+
+#: order/templates/order/sales_order_notes.html:14
+msgid "Sales Order Notes"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:10
+msgid ""
+"This order has not been fully allocated. If the order is marked as shipped, "
+"it can no longer be adjusted."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:12
+msgid "Ensure that the order allocation is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:18
+msgid "Some line items in this order have been over-allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:20
+msgid "Ensure that this is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:27
+msgid "Shipping this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/so_allocate_by_serial.html:9
+msgid "Allocate stock items by serial number"
+msgstr ""
+
+#: order/templates/order/so_allocation_delete.html:7
+msgid "This action will unallocate the following stock from the Sales Order"
+msgstr ""
+
+#: order/templates/order/so_attachments.html:12
+#: order/templates/order/so_navbar.html:26
+msgid "Sales Order Attachments"
+msgstr ""
+
+#: order/templates/order/so_lineitem_delete.html:5
+msgid "Are you sure you wish to delete this line item?"
+msgstr ""
+
+#: order/views.py:99
+msgid "Add Purchase Order Attachment"
+msgstr ""
+
+#: order/views.py:149
+msgid "Add Sales Order Attachment"
+msgstr ""
+
+#: order/views.py:341
+msgid "Create Sales Order"
+msgstr ""
+
+#: order/views.py:376
+msgid "Edit Purchase Order"
+msgstr ""
+
+#: order/views.py:396
+msgid "Edit Sales Order"
+msgstr ""
+
+#: order/views.py:412
+msgid "Cancel Order"
+msgstr ""
+
+#: order/views.py:421 order/views.py:447
+msgid "Confirm order cancellation"
+msgstr ""
+
+#: order/views.py:424 order/views.py:450
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/views.py:438
+msgid "Cancel sales order"
+msgstr ""
+
+#: order/views.py:464
+msgid "Issue Order"
+msgstr ""
+
+#: order/views.py:473
+msgid "Confirm order placement"
+msgstr ""
+
+#: order/views.py:483
+msgid "Purchase order issued"
+msgstr ""
+
+#: order/views.py:494
+msgid "Complete Order"
+msgstr ""
+
+#: order/views.py:510
+msgid "Confirm order completion"
+msgstr ""
+
+#: order/views.py:521
+msgid "Purchase order completed"
+msgstr ""
+
+#: order/views.py:531
+msgid "Ship Order"
+msgstr ""
+
+#: order/views.py:547
+msgid "Confirm order shipment"
+msgstr ""
+
+#: order/views.py:553
+msgid "Could not ship order"
+msgstr ""
+
+#: order/views.py:607
+msgid "Receive Parts"
+msgstr ""
+
+#: order/views.py:677
+msgid "Items received"
+msgstr ""
+
+#: order/views.py:691
+msgid "No destination set"
+msgstr ""
+
+#: order/views.py:736
+msgid "Error converting quantity to number"
+msgstr ""
+
+#: order/views.py:742
+msgid "Receive quantity less than zero"
+msgstr ""
+
+#: order/views.py:748
+msgid "No lines specified"
+msgstr ""
+
+#: order/views.py:1060
+#, python-brace-format
+msgid "Ordered {n} parts"
+msgstr ""
+
+#: order/views.py:1117
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/views.py:1123
+msgid "Supplier must match for Part and Order"
+msgstr ""
+
+#: order/views.py:1242 order/views.py:1260
+msgid "Edit Line Item"
+msgstr ""
+
+#: order/views.py:1276 order/views.py:1288
+msgid "Delete Line Item"
+msgstr ""
+
+#: order/views.py:1281 order/views.py:1293
+msgid "Deleted line item"
+msgstr ""
+
+#: order/views.py:1306
+msgid "Allocate Serial Numbers"
+msgstr ""
+
+#: order/views.py:1351
+#, python-brace-format
+msgid "Allocated {n} items"
+msgstr ""
+
+#: order/views.py:1367
+msgid "Select line item"
+msgstr ""
+
+#: order/views.py:1398
+msgid "No matching item for serial"
+msgstr ""
+
+#: order/views.py:1408
+msgid "is not in stock"
+msgstr ""
+
+#: order/views.py:1416
+msgid "already allocated to an order"
+msgstr ""
+
+#: order/views.py:1470
+msgid "Allocate Stock to Order"
+msgstr ""
+
+#: order/views.py:1544
+msgid "Edit Allocation Quantity"
+msgstr ""
+
+#: order/views.py:1559
+msgid "Remove allocation"
+msgstr ""
+
+#: part/bom.py:138 part/models.py:72 part/models.py:762
+#: part/templates/part/category.html:66 part/templates/part/detail.html:90
+msgid "Default Location"
+msgstr ""
+
+#: part/bom.py:139 part/templates/part/part_base.html:117
+msgid "Available Stock"
+msgstr ""
+
+#: part/bom.py:379
+#, python-brace-format
+msgid "Unsupported file format: {f}"
+msgstr ""
+
+#: part/bom.py:384
+msgid "Error reading BOM file (invalid data)"
+msgstr ""
+
+#: part/bom.py:386
+msgid "Error reading BOM file (incorrect row size)"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "File Format"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "Select output file format"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Cascading"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Download cascading / multi-level BOM"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Levels"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Select maximum number of BOM levels to export (0 = all levels)"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include Parameter Data"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include part parameters data in exported BOM"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include Stock Data"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include part stock data in exported BOM"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include Manufacturer Data"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include part manufacturer data in exported BOM"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include Supplier Data"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include part supplier data in exported BOM"
+msgstr ""
+
+#: part/forms.py:122 part/models.py:2077
+msgid "Parent Part"
+msgstr ""
+
+#: part/forms.py:123 part/templates/part/bom_duplicate.html:7
+msgid "Select parent part to copy BOM from"
+msgstr ""
+
+#: part/forms.py:129
+msgid "Clear existing BOM items"
+msgstr ""
+
+#: part/forms.py:135
+msgid "Confirm BOM duplication"
+msgstr ""
+
+#: part/forms.py:153
+msgid "validate"
+msgstr ""
+
+#: part/forms.py:153
+msgid "Confirm that the BOM is correct"
+msgstr ""
+
+#: part/forms.py:165
+msgid "BOM file"
+msgstr ""
+
+#: part/forms.py:165
+msgid "Select BOM file to upload"
+msgstr ""
+
+#: part/forms.py:184
+msgid "Related Part"
+msgstr ""
+
+#: part/forms.py:203
+msgid "Select part category"
+msgstr ""
+
+#: part/forms.py:220
+msgid "Duplicate all BOM data for this part"
+msgstr ""
+
+#: part/forms.py:221
+msgid "Copy BOM"
+msgstr ""
+
+#: part/forms.py:226
+msgid "Duplicate all parameter data for this part"
+msgstr ""
+
+#: part/forms.py:227
+msgid "Copy Parameters"
+msgstr ""
+
+#: part/forms.py:232
+msgid "Confirm part creation"
+msgstr ""
+
+#: part/forms.py:237
+msgid "Include category parameter templates"
+msgstr ""
+
+#: part/forms.py:242
+msgid "Include parent categories parameter templates"
+msgstr ""
+
+#: part/forms.py:322
+msgid "Add parameter template to same level categories"
+msgstr ""
+
+#: part/forms.py:326
+msgid "Add parameter template to all categories"
+msgstr ""
+
+#: part/forms.py:344 part/models.py:2171
+msgid "Sub part"
+msgstr ""
+
+#: part/forms.py:372
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:73
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:82 part/models.py:2123
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr ""
+
+#: part/models.py:83 part/templates/part/category.html:23
+#: part/templates/part/category.html:94 part/templates/part/category.html:141
+#: templates/InvenTree/search.html:127 templates/stats.html:63
+#: users/models.py:37
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:446 part/models.py:458
+#, python-brace-format
+msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
+msgstr ""
+
+#: part/models.py:555
+msgid "Next available serial numbers are"
+msgstr ""
+
+#: part/models.py:559
+msgid "Next available serial number is"
+msgstr ""
+
+#: part/models.py:564
+msgid "Most recent serial number is"
+msgstr ""
+
+#: part/models.py:643
+msgid "Duplicate IPN not allowed in part settings"
+msgstr ""
+
+#: part/models.py:654
+msgid "Part must be unique for name, IPN and revision"
+msgstr ""
+
+#: part/models.py:685 part/templates/part/detail.html:22
+msgid "Part name"
+msgstr ""
+
+#: part/models.py:692
+msgid "Is Template"
+msgstr ""
+
+#: part/models.py:693
+msgid "Is this part a template part?"
+msgstr ""
+
+#: part/models.py:704
+msgid "Is this part a variant of another part?"
+msgstr ""
+
+#: part/models.py:705 part/templates/part/detail.html:60
+msgid "Variant Of"
+msgstr ""
+
+#: part/models.py:711
+msgid "Part description"
+msgstr ""
+
+#: part/models.py:716 part/templates/part/category.html:73
+#: part/templates/part/detail.html:67
+msgid "Keywords"
+msgstr ""
+
+#: part/models.py:717
+msgid "Part keywords to improve visibility in search results"
+msgstr ""
+
+#: part/models.py:724 part/models.py:2122 part/templates/part/detail.html:73
+#: part/templates/part/set_category.html:15 templates/js/part.js:385
+msgid "Category"
+msgstr ""
+
+#: part/models.py:725
+msgid "Part category"
+msgstr ""
+
+#: part/models.py:730 part/templates/part/detail.html:28
+#: part/templates/part/part_base.html:94 templates/js/part.js:161
+msgid "IPN"
+msgstr ""
+
+#: part/models.py:731
+msgid "Internal Part Number"
+msgstr ""
+
+#: part/models.py:737
+msgid "Part revision or version number"
+msgstr ""
+
+#: part/models.py:738 part/templates/part/detail.html:35 report/models.py:198
+#: templates/js/part.js:165
+msgid "Revision"
+msgstr ""
+
+#: part/models.py:760
+msgid "Where is this item normally stored?"
+msgstr ""
+
+#: part/models.py:807 part/templates/part/detail.html:97
+msgid "Default Supplier"
+msgstr ""
+
+#: part/models.py:808
+msgid "Default supplier part"
+msgstr ""
+
+#: part/models.py:815
+msgid "Default Expiry"
+msgstr ""
+
+#: part/models.py:816
+msgid "Expiry time (in days) for stock items of this part"
+msgstr ""
+
+#: part/models.py:821 part/templates/part/detail.html:113
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/models.py:822
+msgid "Minimum allowed stock level"
+msgstr ""
+
+#: part/models.py:828 part/models.py:2051 part/templates/part/detail.html:106
+#: part/templates/part/params.html:29
+msgid "Units"
+msgstr ""
+
+#: part/models.py:829
+msgid "Stock keeping units for this part"
+msgstr ""
+
+#: part/models.py:835
+msgid "Can this part be built from other parts?"
+msgstr ""
+
+#: part/models.py:841
+msgid "Can this part be used to build other parts?"
+msgstr ""
+
+#: part/models.py:847
+msgid "Does this part have tracking for unique items?"
+msgstr ""
+
+#: part/models.py:852
+msgid "Can this part be purchased from external suppliers?"
+msgstr ""
+
+#: part/models.py:857
+msgid "Can this part be sold to customers?"
+msgstr ""
+
+#: part/models.py:861 part/templates/part/detail.html:227
+#: templates/js/table_filters.js:20 templates/js/table_filters.js:60
+#: templates/js/table_filters.js:236 templates/js/table_filters.js:305
+msgid "Active"
+msgstr ""
+
+#: part/models.py:862
+msgid "Is this part active?"
+msgstr ""
+
+#: part/models.py:867
+msgid "Is this a virtual part, such as a software product or license?"
+msgstr ""
+
+#: part/models.py:872
+msgid "Part notes - supports Markdown formatting"
+msgstr ""
+
+#: part/models.py:875
+msgid "BOM checksum"
+msgstr ""
+
+#: part/models.py:875
+msgid "Stored BOM checksum"
+msgstr ""
+
+#: part/models.py:878
+msgid "BOM checked by"
+msgstr ""
+
+#: part/models.py:880
+msgid "BOM checked date"
+msgstr ""
+
+#: part/models.py:884
+msgid "Creation User"
+msgstr ""
+
+#: part/models.py:1949
+msgid "Test templates can only be created for trackable parts"
+msgstr ""
+
+#: part/models.py:1966
+msgid "Test with this name already exists for this part"
+msgstr ""
+
+#: part/models.py:1986 templates/js/part.js:638 templates/js/stock.js:104
+msgid "Test Name"
+msgstr ""
+
+#: part/models.py:1987
+msgid "Enter a name for the test"
+msgstr ""
+
+#: part/models.py:1992
+msgid "Test Description"
+msgstr ""
+
+#: part/models.py:1993
+msgid "Enter description for this test"
+msgstr ""
+
+#: part/models.py:1998 templates/js/part.js:647
+#: templates/js/table_filters.js:222
+msgid "Required"
+msgstr ""
+
+#: part/models.py:1999
+msgid "Is this test required to pass?"
+msgstr ""
+
+#: part/models.py:2004 templates/js/part.js:655
+msgid "Requires Value"
+msgstr ""
+
+#: part/models.py:2005
+msgid "Does this test require a value when adding a test result?"
+msgstr ""
+
+#: part/models.py:2010 templates/js/part.js:662
+msgid "Requires Attachment"
+msgstr ""
+
+#: part/models.py:2011
+msgid "Does this test require a file attachment when adding a test result?"
+msgstr ""
+
+#: part/models.py:2044
+msgid "Parameter template name must be unique"
+msgstr ""
+
+#: part/models.py:2049
+msgid "Parameter Name"
+msgstr ""
+
+#: part/models.py:2051
+msgid "Parameter Units"
+msgstr ""
+
+#: part/models.py:2079 part/models.py:2128 part/models.py:2129
+#: templates/InvenTree/settings/category.html:62
+msgid "Parameter Template"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Data"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Parameter Value"
+msgstr ""
+
+#: part/models.py:2133 templates/InvenTree/settings/category.html:67
+msgid "Default Value"
+msgstr ""
+
+#: part/models.py:2134
+msgid "Default Parameter Value"
+msgstr ""
+
+#: part/models.py:2163
+msgid "Select parent part"
+msgstr ""
+
+#: part/models.py:2172
+msgid "Select part to be used in BOM"
+msgstr ""
+
+#: part/models.py:2178
+msgid "BOM quantity for this BOM item"
+msgstr ""
+
+#: part/models.py:2180 templates/js/bom.js:216 templates/js/bom.js:269
+msgid "Optional"
+msgstr ""
+
+#: part/models.py:2180
+msgid "This BOM item is optional"
+msgstr ""
+
+#: part/models.py:2183
+msgid "Overage"
+msgstr ""
+
+#: part/models.py:2184
+msgid "Estimated build wastage quantity (absolute or percentage)"
+msgstr ""
+
+#: part/models.py:2187
+msgid "BOM item reference"
+msgstr ""
+
+#: part/models.py:2190
+msgid "BOM item notes"
+msgstr ""
+
+#: part/models.py:2192
+msgid "Checksum"
+msgstr ""
+
+#: part/models.py:2192
+msgid "BOM line checksum"
+msgstr ""
+
+#: part/models.py:2196 templates/js/bom.js:279 templates/js/bom.js:286
+#: templates/js/table_filters.js:50
+msgid "Inherited"
+msgstr ""
+
+#: part/models.py:2197
+msgid "This BOM item is inherited by BOMs for variant parts"
+msgstr ""
+
+#: part/models.py:2273 part/views.py:1592 part/views.py:1644
+#: stock/models.py:260
+msgid "Quantity must be integer value for trackable parts"
+msgstr ""
+
+#: part/models.py:2282 part/models.py:2284
+msgid "Sub part must be specified"
+msgstr ""
+
+#: part/models.py:2287
+msgid "BOM Item"
+msgstr ""
+
+#: part/models.py:2404
+msgid "Part 1"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Part 2"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Select Related Part"
+msgstr ""
+
+#: part/models.py:2440
+msgid ""
+"Error creating relationship: check that the part is not related to itself "
+"and that the relationship is unique"
+msgstr ""
+
+#: part/templates/part/allocation.html:11
+msgid "Part Stock Allocations"
+msgstr ""
+
+#: part/templates/part/attachments.html:10
+msgid "Part Attachments"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:6
+msgid "Are you sure you want to delete this BOM item?"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:8
+msgid "Deleting this entry will remove the BOM row from the following part"
+msgstr ""
+
+#: part/templates/part/bom.html:10 part/templates/part/navbar.html:48
+#: part/templates/part/navbar.html:51
+msgid "Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:19
+#, python-format
+msgid "The BOM for %(part)s has changed, and must be validated.
"
+msgstr ""
+
+#: part/templates/part/bom.html:21
+#, python-format
+msgid ""
+"The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
+msgstr ""
+
+#: part/templates/part/bom.html:25
+#, python-format
+msgid "The BOM for %(part)s has not been validated."
+msgstr ""
+
+#: part/templates/part/bom.html:32
+msgid "Remove selected BOM items"
+msgstr ""
+
+#: part/templates/part/bom.html:35
+msgid "Import BOM data"
+msgstr ""
+
+#: part/templates/part/bom.html:39
+msgid "Copy BOM from parent part"
+msgstr ""
+
+#: part/templates/part/bom.html:43
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/bom.html:46
+msgid "Finish Editing"
+msgstr ""
+
+#: part/templates/part/bom.html:51
+msgid "Edit BOM"
+msgstr ""
+
+#: part/templates/part/bom.html:55
+msgid "Validate Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:61 part/views.py:1887
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:64
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/bom.html:109
+msgid "Delete selected BOM items?"
+msgstr ""
+
+#: part/templates/part/bom.html:110
+msgid "All selected BOM items will be deleted"
+msgstr ""
+
+#: part/templates/part/bom.html:160 part/views.py:584
+#: templates/js/stock.js:1158
+msgid "Create New Part"
+msgstr ""
+
+#: part/templates/part/bom_duplicate.html:13
+msgid "This part already has a Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:11
+#: part/templates/part/bom_upload/select_parts.html:11
+#: part/templates/part/bom_upload/upload_file.html:11
+msgid "Upload Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:16
+msgid "Step 2 - Select Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:21
+msgid "Missing selections for the following required columns"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:32
+msgid "Submit Selections"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:41
+msgid "File Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:47
+msgid "Remove column"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:58
+msgid "Match Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:68
+msgid "Duplicate column selection"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:76
+#: part/templates/part/bom_upload/select_parts.html:58
+msgid "Remove row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:16
+msgid "Step 3 - Select Parts"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:21
+msgid "Errors exist in the submitted data"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:27
+msgid "Submit BOM"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:39
+msgid "Row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:40
+#: part/templates/part/bom_upload/select_parts.html:69
+msgid "Select Part"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:65
+#: part/templates/part/category.html:117
+msgid "Create new part"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:16
+msgid "Step 1 - Select BOM File"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:19
+msgid "Requirements for BOM upload"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid ""
+"The BOM file must contain the required named columns as provided in the "
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid "BOM Upload Template"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:22
+msgid "Each part must already exist in the database"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:27
+msgid "Upload File"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:6
+#, python-format
+msgid ""
+"Confirm that the Bill of Materials (BOM) is valid for:
%(part)s"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:9
+msgid "This will validate each line in the BOM."
+msgstr ""
+
+#: part/templates/part/build.html:10
+msgid "Part Builds"
+msgstr ""
+
+#: part/templates/part/build.html:18
+msgid "Start New Build"
+msgstr ""
+
+#: part/templates/part/category.html:24
+msgid "All parts"
+msgstr ""
+
+#: part/templates/part/category.html:29 part/views.py:2270
+msgid "Create new part category"
+msgstr ""
+
+#: part/templates/part/category.html:35
+msgid "Edit part category"
+msgstr ""
+
+#: part/templates/part/category.html:40
+msgid "Delete part category"
+msgstr ""
+
+#: part/templates/part/category.html:50 part/templates/part/category.html:89
+msgid "Category Details"
+msgstr ""
+
+#: part/templates/part/category.html:55
+msgid "Category Path"
+msgstr ""
+
+#: part/templates/part/category.html:60
+msgid "Category Description"
+msgstr ""
+
+#: part/templates/part/category.html:79
+#: part/templates/part/category_navbar.html:11
+#: part/templates/part/category_navbar.html:18
+#: part/templates/part/subcategory.html:16
+msgid "Subcategories"
+msgstr ""
+
+#: part/templates/part/category.html:84
+msgid "Parts (Including subcategories)"
+msgstr ""
+
+#: part/templates/part/category.html:113
+msgid "Export Part Data"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set category"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set Category"
+msgstr ""
+
+#: part/templates/part/category.html:128
+msgid "Export Data"
+msgstr ""
+
+#: part/templates/part/category.html:186
+#: stock/templates/stock/location.html:192 templates/js/stock.js:709
+msgid "Create new location"
+msgstr ""
+
+#: part/templates/part/category.html:191 part/templates/part/category.html:221
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:192
+msgid "Create new category"
+msgstr ""
+
+#: part/templates/part/category.html:222
+msgid "Create new Part Category"
+msgstr ""
+
+#: part/templates/part/category.html:228 stock/views.py:1359
+msgid "Create new Stock Location"
+msgstr ""
+
+#: part/templates/part/category_delete.html:5
+msgid "Are you sure you want to delete category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:8
+#, python-format
+msgid "This category contains %(count)s child categories"
+msgstr ""
+
+#: part/templates/part/category_delete.html:9
+msgid ""
+"If this category is deleted, these child categories will be moved to the"
+msgstr ""
+
+#: part/templates/part/category_delete.html:11
+msgid "category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:13
+msgid "top level Parts category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:25
+#, python-format
+msgid "This category contains %(count)s parts"
+msgstr ""
+
+#: part/templates/part/category_delete.html:27
+#, python-format
+msgid ""
+"If this category is deleted, these parts will be moved to the parent "
+"category %(path)s"
+msgstr ""
+
+#: part/templates/part/category_delete.html:29
+msgid ""
+"If this category is deleted, these parts will be moved to the top-level "
+"category Teile"
+msgstr ""
+
+#: part/templates/part/category_navbar.html:34
+#: part/templates/part/category_navbar.html:37
+#: part/templates/part/navbar.html:22
+msgid "Parameters"
+msgstr ""
+
+#: part/templates/part/category_parametric.html:10
+#: part/templates/part/navbar.html:19 part/templates/part/params.html:10
+msgid "Part Parameters"
+msgstr ""
+
+#: part/templates/part/copy_part.html:9 part/views.py:460
+msgid "Duplicate Part"
+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 - %(desc)s (%(match_per)s%% match)"
+msgstr ""
+
+#: part/templates/part/detail.html:11 part/templates/part/navbar.html:11
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:42
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:47
+msgid "No serial numbers recorded"
+msgstr ""
+
+#: part/templates/part/detail.html:120
+msgid "Stock Expiry Time"
+msgstr ""
+
+#: part/templates/part/detail.html:139
+msgid "Responsible User"
+msgstr ""
+
+#: part/templates/part/detail.html:153
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/detail.html:155
+msgid "Part is not a virtual part"
+msgstr ""
+
+#: part/templates/part/detail.html:163
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/detail.html:165
+msgid "Part is not a template part"
+msgstr ""
+
+#: part/templates/part/detail.html:173
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:175
+msgid "Part cannot be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:183
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:185
+msgid "Part cannot be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:193
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:195
+msgid "Part stock is not tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:203 part/templates/part/detail.html:205
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/detail.html:213
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:215
+msgid "Part cannot be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:230
+msgid "Part is active"
+msgstr ""
+
+#: part/templates/part/detail.html:232
+msgid "Part is not active"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:11
+msgid "Part Manufacturers"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:24
+msgid "Delete manufacturer parts"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:53
+#: part/templates/part/supplier.html:57
+msgid "Create new manufacturer"
+msgstr ""
+
+#: part/templates/part/navbar.html:26 part/templates/part/variants.html:11
+msgid "Part Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:29
+msgid "Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:40
+msgid "Allocated Stock"
+msgstr ""
+
+#: part/templates/part/navbar.html:43
+msgid "Allocations"
+msgstr ""
+
+#: part/templates/part/navbar.html:64 part/templates/part/navbar.html:67
+msgid "Used In"
+msgstr ""
+
+#: part/templates/part/navbar.html:92
+msgid "Sales Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:95
+msgid "Sale Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+msgid "Part Test Templates"
+msgstr ""
+
+#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:398
+msgid "Tests"
+msgstr ""
+
+#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/related.html:10
+msgid "Related Parts"
+msgstr ""
+
+#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+msgid "Part Notes"
+msgstr ""
+
+#: part/templates/part/params.html:17
+msgid "Add new parameter"
+msgstr ""
+
+#: part/templates/part/params.html:18
+#: templates/InvenTree/settings/category.html:29
+#: templates/InvenTree/settings/part.html:44
+msgid "New Parameter"
+msgstr ""
+
+#: part/templates/part/params.html:28
+#: report/templates/report/inventree_test_report_base.html:90
+#: stock/models.py:1655 templates/InvenTree/settings/header.html:8
+#: templates/js/stock.js:124
+msgid "Value"
+msgstr ""
+
+#: part/templates/part/params.html:41 templates/InvenTree/settings/user.html:19
+msgid "Edit"
+msgstr ""
+
+#: part/templates/part/params.html:68
+msgid "New Template"
+msgstr ""
+
+#: part/templates/part/params.html:69
+msgid "Create New Parameter Template"
+msgstr ""
+
+#: part/templates/part/part_app_base.html:12
+msgid "Part List"
+msgstr ""
+
+#: part/templates/part/part_base.html:18
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:40
+msgid "Star this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:47
+#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/location.html:51
+msgid "Barcode actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:49
+#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+msgid "Show QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:50
+#: stock/templates/stock/item_base.html:149
+#: stock/templates/stock/location.html:54
+msgid "Print Label"
+msgstr ""
+
+#: part/templates/part/part_base.html:55
+msgid "Show pricing information"
+msgstr ""
+
+#: part/templates/part/part_base.html:59
+msgid "Count part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:74
+msgid "Part actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:77
+msgid "Duplicate part"
+msgstr ""
+
+#: part/templates/part/part_base.html:80
+msgid "Edit part"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
+msgid "Delete part"
+msgstr ""
+
+#: part/templates/part/part_base.html:123 templates/js/table_filters.js:156
+msgid "In Stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+msgid "Required for Build Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:143
+msgid "Required for Sales Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:150
+msgid "Allocated to Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+msgid "Can Build"
+msgstr ""
+
+#: part/templates/part/part_base.html:171 templates/js/part.js:418
+msgid "Building"
+msgstr ""
+
+#: part/templates/part/part_base.html:250
+msgid "Calculate"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:8
+#, python-format
+msgid "Pricing information for:
%(part)s."
+msgstr ""
+
+#: part/templates/part/part_pricing.html:23
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:27
+#: part/templates/part/part_pricing.html:53
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:33
+#: part/templates/part/part_pricing.html:59
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:41
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:49
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:67
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:74
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:84
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/part_tests.html:17
+msgid "Add Test Template"
+msgstr ""
+
+#: part/templates/part/part_thumb.html:20
+msgid "Select from existing images"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:7
+#, python-format
+msgid "Are you sure you want to delete part '%(full_name)s'?"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:12
+#, python-format
+msgid ""
+"This part is used in BOMs for %(count)s other parts. If you delete this "
+"part, the BOMs for the following parts will be updated"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:22
+#, python-format
+msgid ""
+"There are %(count)s stock entries defined for this part. If you delete this "
+"part, the following stock entries will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:33
+#, python-format
+msgid ""
+"There are %(count)s manufacturers defined for this part. If you delete this "
+"part, the following manufacturer parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:44
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this part. If you delete this "
+"part, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:55
+#, python-format
+msgid ""
+"There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this "
+"part will permanently remove this tracking information."
+msgstr ""
+
+#: part/templates/part/related.html:18
+msgid "Add Related"
+msgstr ""
+
+#: part/templates/part/sale_prices.html:10
+msgid "Sell Price Information"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New sales order"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New Order"
+msgstr ""
+
+#: part/templates/part/set_category.html:9
+msgid "Set category for the following parts"
+msgstr ""
+
+#: part/templates/part/stock.html:10
+msgid "Part Stock"
+msgstr ""
+
+#: part/templates/part/stock.html:16
+#, python-format
+msgid "Showing stock for all variants of %(full_name)s"
+msgstr ""
+
+#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
+#: templates/js/part.js:422
+msgid "No Stock"
+msgstr ""
+
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:130
+msgid "Low Stock"
+msgstr ""
+
+#: part/templates/part/supplier.html:10
+msgid "Part Suppliers"
+msgstr ""
+
+#: part/templates/part/track.html:10
+msgid "Part Tracking"
+msgstr ""
+
+#: part/templates/part/used_in.html:9
+msgid "Assemblies"
+msgstr ""
+
+#: part/templates/part/variant_part.html:9
+msgid "Create new part variant"
+msgstr ""
+
+#: part/templates/part/variant_part.html:10
+#, python-format
+msgid "Create a new variant of template '%(full_name)s'."
+msgstr ""
+
+#: part/templates/part/variants.html:19
+msgid "Create new variant"
+msgstr ""
+
+#: part/templates/part/variants.html:20
+msgid "New Variant"
+msgstr ""
+
+#: part/views.py:89
+msgid "Add Related Part"
+msgstr ""
+
+#: part/views.py:144
+msgid "Delete Related Part"
+msgstr ""
+
+#: part/views.py:158
+msgid "Add part attachment"
+msgstr ""
+
+#: part/views.py:211 templates/attachment_table.html:32
+msgid "Edit attachment"
+msgstr ""
+
+#: part/views.py:215
+msgid "Part attachment updated"
+msgstr ""
+
+#: part/views.py:230
+msgid "Delete Part Attachment"
+msgstr ""
+
+#: part/views.py:238
+msgid "Deleted part attachment"
+msgstr ""
+
+#: part/views.py:247
+msgid "Create Test Template"
+msgstr ""
+
+#: part/views.py:274
+msgid "Edit Test Template"
+msgstr ""
+
+#: part/views.py:288
+msgid "Delete Test Template"
+msgstr ""
+
+#: part/views.py:295
+msgid "Set Part Category"
+msgstr ""
+
+#: part/views.py:345
+#, python-brace-format
+msgid "Set category for {n} parts"
+msgstr ""
+
+#: part/views.py:380
+msgid "Create Variant"
+msgstr ""
+
+#: part/views.py:465
+msgid "Copied part"
+msgstr ""
+
+#: part/views.py:519 part/views.py:657
+msgid "Possible matches exist - confirm creation of new part"
+msgstr ""
+
+#: part/views.py:589
+msgid "Created new part"
+msgstr ""
+
+#: part/views.py:825
+msgid "Part QR Code"
+msgstr ""
+
+#: part/views.py:927
+msgid "Upload Part Image"
+msgstr ""
+
+#: part/views.py:933 part/views.py:968
+msgid "Updated part image"
+msgstr ""
+
+#: part/views.py:942
+msgid "Select Part Image"
+msgstr ""
+
+#: part/views.py:971
+msgid "Part image not found"
+msgstr ""
+
+#: part/views.py:982
+msgid "Edit Part Properties"
+msgstr ""
+
+#: part/views.py:1017
+msgid "Duplicate BOM"
+msgstr ""
+
+#: part/views.py:1047
+msgid "Confirm duplication of BOM from parent"
+msgstr ""
+
+#: part/views.py:1068
+msgid "Validate BOM"
+msgstr ""
+
+#: part/views.py:1089
+msgid "Confirm that the BOM is valid"
+msgstr ""
+
+#: part/views.py:1100
+msgid "Validated Bill of Materials"
+msgstr ""
+
+#: part/views.py:1234
+msgid "No BOM file provided"
+msgstr ""
+
+#: part/views.py:1595
+msgid "Enter a valid quantity"
+msgstr ""
+
+#: part/views.py:1620 part/views.py:1623
+msgid "Select valid part"
+msgstr ""
+
+#: part/views.py:1629
+msgid "Duplicate part selected"
+msgstr ""
+
+#: part/views.py:1667
+msgid "Select a part"
+msgstr ""
+
+#: part/views.py:1673
+msgid "Selected part creates a circular BOM"
+msgstr ""
+
+#: part/views.py:1677
+msgid "Specify quantity"
+msgstr ""
+
+#: part/views.py:1939
+msgid "Confirm Part Deletion"
+msgstr ""
+
+#: part/views.py:1946
+msgid "Part was deleted"
+msgstr ""
+
+#: part/views.py:1955
+msgid "Part Pricing"
+msgstr ""
+
+#: part/views.py:2069
+msgid "Create Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2079
+msgid "Edit Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2086
+msgid "Delete Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2094
+msgid "Create Part Parameter"
+msgstr ""
+
+#: part/views.py:2144
+msgid "Edit Part Parameter"
+msgstr ""
+
+#: part/views.py:2158
+msgid "Delete Part Parameter"
+msgstr ""
+
+#: part/views.py:2218
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:2256
+msgid "Delete Part Category"
+msgstr ""
+
+#: part/views.py:2262
+msgid "Part category was deleted"
+msgstr ""
+
+#: part/views.py:2314
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2415
+msgid "Edit Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2471
+msgid "Delete Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2490
+msgid "Create BOM Item"
+msgstr ""
+
+#: part/views.py:2560
+msgid "Edit BOM item"
+msgstr ""
+
+#: part/views.py:2616
+msgid "Confim BOM item deletion"
+msgstr ""
+
+#: report/models.py:180
+msgid "Template name"
+msgstr ""
+
+#: report/models.py:186
+msgid "Report template file"
+msgstr ""
+
+#: report/models.py:193
+msgid "Report template description"
+msgstr ""
+
+#: report/models.py:199
+msgid "Report revision number (auto-increments)"
+msgstr ""
+
+#: report/models.py:275
+msgid "Report template is enabled"
+msgstr ""
+
+#: report/models.py:295
+msgid "StockItem query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: report/models.py:303
+msgid "Include Installed Tests"
+msgstr ""
+
+#: report/models.py:304
+msgid "Include test results for stock items installed inside assembled item"
+msgstr ""
+
+#: report/models.py:347
+msgid "Build Filters"
+msgstr ""
+
+#: report/models.py:348
+msgid "Build query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:385
+msgid "Part Filters"
+msgstr ""
+
+#: report/models.py:386
+msgid "Part query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:416
+msgid "Purchase order query filters"
+msgstr ""
+
+#: report/models.py:450
+msgid "Sales order query filters"
+msgstr ""
+
+#: report/models.py:500
+msgid "Snippet"
+msgstr ""
+
+#: report/models.py:501
+msgid "Report snippet file"
+msgstr ""
+
+#: report/models.py:505
+msgid "Snippet file description"
+msgstr ""
+
+#: report/models.py:540
+msgid "Asset"
+msgstr ""
+
+#: report/models.py:541
+msgid "Report asset file"
+msgstr ""
+
+#: report/models.py:544
+msgid "Asset file description"
+msgstr ""
+
+#: report/templates/report/inventree_build_order_base.html:147
+msgid "Required For"
+msgstr ""
+
+#: report/templates/report/inventree_po_report.html:85
+#: report/templates/report/inventree_so_report.html:85
+msgid "Line 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:83
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:88
+#: stock/models.py:1643
+msgid "Test"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:89
+#: stock/models.py:1649
+msgid "Result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:92
+#: templates/js/order.js:195 templates/js/stock.js:986
+msgid "Date"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:103
+msgid "Pass"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:105
+msgid "Fail"
+msgstr ""
+
+#: stock/api.py:199
+#, python-brace-format
+msgid "Updated stock for {n} items"
+msgstr ""
+
+#: stock/api.py:268
+#, python-brace-format
+msgid "Moved {n} parts to {loc}"
+msgstr ""
+
+#: stock/forms.py:114 stock/forms.py:406 stock/models.py:475
+#: stock/templates/stock/item_base.html:365 templates/js/stock.js:656
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/forms.py:115 stock/forms.py:407
+msgid "Expiration date for this stock item"
+msgstr ""
+
+#: stock/forms.py:118
+msgid "Enter unique serial numbers (or leave blank)"
+msgstr ""
+
+#: stock/forms.py:169
+msgid ""
+"Destination for serialized stock (by default, will remain in current "
+"location)"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Serial numbers"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Unique serial numbers (must match quantity)"
+msgstr ""
+
+#: stock/forms.py:173 stock/forms.py:349
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/forms.py:203 stock/forms.py:259
+msgid "Select test report template"
+msgstr ""
+
+#: stock/forms.py:267 templates/js/table_filters.js:70
+#: templates/js/table_filters.js:133
+msgid "Include sublocations"
+msgstr ""
+
+#: stock/forms.py:267
+msgid "Include stock items in sub locations"
+msgstr ""
+
+#: stock/forms.py:302
+msgid "Stock item to install"
+msgstr ""
+
+#: stock/forms.py:309
+msgid "Stock quantity to assign"
+msgstr ""
+
+#: stock/forms.py:337
+msgid "Must not exceed available quantity"
+msgstr ""
+
+#: stock/forms.py:347
+msgid "Destination location for uninstalled items"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm uninstall"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm removal of installed stock items"
+msgstr ""
+
+#: stock/forms.py:375
+msgid "Destination stock location"
+msgstr ""
+
+#: stock/forms.py:377
+msgid "Add note (required)"
+msgstr ""
+
+#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: stock/forms.py:381
+msgid "Confirm movement of stock items"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set Default Location"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set the destination as the default location for selected parts"
+msgstr ""
+
+#: stock/models.py:54 stock/models.py:513
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:55 stock/models.py:514
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:205
+msgid "Created stock item"
+msgstr ""
+
+#: stock/models.py:241
+msgid "StockItem with this serial number already exists"
+msgstr ""
+
+#: stock/models.py:277
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:287 stock/models.py:296
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:288
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:310
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:316
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:323
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:365
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:374
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:383
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:388 stock/templates/stock/stock_app_base.html:8
+msgid "Stock Location"
+msgstr ""
+
+#: stock/models.py:391
+msgid "Where is this stock item located?"
+msgstr ""
+
+#: stock/models.py:398
+msgid "Packaging this stock item is stored in"
+msgstr ""
+
+#: stock/models.py:403 stock/templates/stock/item_base.html:259
+msgid "Installed In"
+msgstr ""
+
+#: stock/models.py:406
+msgid "Is this item installed in another item?"
+msgstr ""
+
+#: stock/models.py:422
+msgid "Serial number for this item"
+msgstr ""
+
+#: stock/models.py:434
+msgid "Batch code for this stock item"
+msgstr ""
+
+#: stock/models.py:438
+msgid "Stock Quantity"
+msgstr ""
+
+#: stock/models.py:447
+msgid "Source Build"
+msgstr ""
+
+#: stock/models.py:449
+msgid "Build for this stock item"
+msgstr ""
+
+#: stock/models.py:460
+msgid "Source Purchase Order"
+msgstr ""
+
+#: stock/models.py:463
+msgid "Purchase order for this stock item"
+msgstr ""
+
+#: stock/models.py:469
+msgid "Destination Sales Order"
+msgstr ""
+
+#: stock/models.py:476
+msgid ""
+"Expiry date for stock item. Stock will be considered expired after this date"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete on deplete"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete this Stock Item when stock is depleted"
+msgstr ""
+
+#: stock/models.py:499 stock/templates/stock/item_notes.html:13
+#: stock/templates/stock/navbar.html:54
+msgid "Stock Item Notes"
+msgstr ""
+
+#: stock/models.py:509
+msgid "Single unit purchase price at time of purchase"
+msgstr ""
+
+#: stock/models.py:614
+msgid "Assigned to Customer"
+msgstr ""
+
+#: stock/models.py:616
+msgid "Manually assigned to customer"
+msgstr ""
+
+#: stock/models.py:629
+msgid "Returned from customer"
+msgstr ""
+
+#: stock/models.py:631
+msgid "Returned to location"
+msgstr ""
+
+#: stock/models.py:792
+msgid "Installed into stock item"
+msgstr ""
+
+#: stock/models.py:800
+msgid "Installed stock item"
+msgstr ""
+
+#: stock/models.py:824
+msgid "Uninstalled stock item"
+msgstr ""
+
+#: stock/models.py:843
+msgid "Uninstalled into location"
+msgstr ""
+
+#: stock/models.py:944
+msgid "Part is not set as trackable"
+msgstr ""
+
+#: stock/models.py:950
+msgid "Quantity must be integer"
+msgstr ""
+
+#: stock/models.py:956
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({n})"
+msgstr ""
+
+#: stock/models.py:959
+msgid "Serial numbers must be a list of integers"
+msgstr ""
+
+#: stock/models.py:962
+msgid "Quantity does not match serial numbers"
+msgstr ""
+
+#: stock/models.py:994
+msgid "Add serial number"
+msgstr ""
+
+#: stock/models.py:997
+#, python-brace-format
+msgid "Serialized {n} items"
+msgstr ""
+
+#: stock/models.py:1075
+msgid "Split from existing stock"
+msgstr ""
+
+#: stock/models.py:1113
+msgid "StockItem cannot be moved as it is not in stock"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Title"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Tracking entry title"
+msgstr ""
+
+#: stock/models.py:1558
+msgid "Entry notes"
+msgstr ""
+
+#: stock/models.py:1560
+msgid "Link to external page for further information"
+msgstr ""
+
+#: stock/models.py:1620
+msgid "Value must be provided for this test"
+msgstr ""
+
+#: stock/models.py:1626
+msgid "Attachment must be uploaded for this test"
+msgstr ""
+
+#: stock/models.py:1644
+msgid "Test name"
+msgstr ""
+
+#: stock/models.py:1650 templates/js/table_filters.js:212
+msgid "Test result"
+msgstr ""
+
+#: stock/models.py:1656
+msgid "Test output value"
+msgstr ""
+
+#: stock/models.py:1663
+msgid "Test result attachment"
+msgstr ""
+
+#: stock/models.py:1669
+msgid "Test notes"
+msgstr ""
+
+#: stock/templates/stock/item.html:12
+msgid "Stock Tracking Information"
+msgstr ""
+
+#: stock/templates/stock/item.html:30
+msgid "New Entry"
+msgstr ""
+
+#: stock/templates/stock/item_attachments.html:11
+msgid "Stock Item Attachments"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:24
+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:31
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:32
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:45
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:53
+#, python-format
+msgid ""
+"This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:61
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:67
+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:71
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:75
+msgid ""
+"This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:145
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:99
+#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:150
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:136 templates/js/barcode.js:309
+#: templates/js/barcode.js:314
+msgid "Unlink Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:138
+msgid "Link Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:140 templates/stock_table.html:31
+msgid "Scan to Location"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:147
+msgid "Printing actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_tests.html:27
+msgid "Test Report"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:160
+msgid "Stock adjustment actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:164
+#: stock/templates/stock/location.html:65 templates/stock_table.html:56
+msgid "Count stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:167 templates/stock_table.html:54
+msgid "Add stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:170 templates/stock_table.html:55
+msgid "Remove stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:173
+msgid "Serialize stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:177
+msgid "Transfer stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:180
+msgid "Assign to customer"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:183
+msgid "Return to stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1299
+msgid "Uninstall stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187
+msgid "Uninstall"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:199
+msgid "Convert to variant"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:202
+msgid "Duplicate stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:204
+msgid "Edit stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:207
+msgid "Delete stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:219
+msgid "Stock Item Details"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:278 templates/js/build.js:498
+msgid "No location set"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:285
+msgid "Barcode Identifier"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:327
+msgid "Parent Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:369
+#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:371
+#, python-format
+msgid "This StockItem expires on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:378 templates/js/stock.js:662
+msgid "Last Updated"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:383
+msgid "Last Stocktake"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:387
+msgid "No stocktake performed"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:12
+msgid "Child Stock Items"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:20
+msgid "This stock item does not have any child items"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:9
+msgid "Are you sure you want to delete this stock item?"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:12
+#, python-format
+msgid ""
+"This will remove %(qty)s units of %(full_name)s from stock."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:7
+msgid "Install another StockItem into this item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:10
+msgid "Stock items can only be installed if they meet the following criteria"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:13
+msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:14
+msgid "The StockItem is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_installed.html:11
+#: stock/templates/stock/navbar.html:27
+msgid "Installed Stock Items"
+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/item_tests.html:11
+#: stock/templates/stock/navbar.html:19 stock/templates/stock/navbar.html:22
+msgid "Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:20
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:24
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/location.html:20
+msgid ""
+"You are not in the list of owners of this location. This stock location "
+"cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:37
+msgid "All stock items"
+msgstr ""
+
+#: stock/templates/stock/location.html:55
+msgid "Check-in Items"
+msgstr ""
+
+#: stock/templates/stock/location.html:71
+msgid "Location actions"
+msgstr ""
+
+#: stock/templates/stock/location.html:73
+msgid "Edit location"
+msgstr ""
+
+#: stock/templates/stock/location.html:75
+msgid "Delete location"
+msgstr ""
+
+#: stock/templates/stock/location.html:87
+msgid "Location Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:92
+msgid "Location Path"
+msgstr ""
+
+#: stock/templates/stock/location.html:97
+msgid "Location Description"
+msgstr ""
+
+#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location_navbar.html:11
+#: stock/templates/stock/location_navbar.html:18
+#: stock/templates/stock/sublocation.html:16
+msgid "Sublocations"
+msgstr ""
+
+#: stock/templates/stock/location.html:112
+msgid "Stock Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: templates/stats.html:76 users/models.py:39
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/templates/stock/location_delete.html:7
+msgid "Are you sure you want to delete this stock location?"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:11
+msgid "Stock Item Tracking"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:14
+msgid "History"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:30
+msgid "Installed Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:38
+msgid "Child Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:41
+msgid "Children"
+msgstr ""
+
+#: stock/templates/stock/stock_adjust.html:43
+msgid "Remove item"
+msgstr ""
+
+#: stock/templates/stock/stock_app_base.html:16
+msgid "Loading..."
+msgstr ""
+
+#: stock/templates/stock/stock_uninstall.html:8
+msgid "The following stock items will be uninstalled"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1332
+msgid "Convert Stock Item"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:8
+#, python-format
+msgid "This stock item is current an instance of %(part)s"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:9
+msgid "It can be converted to one of the part variants listed below."
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:14
+msgid "This action cannot be easily undone"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:23 templates/stock_table.html:37
+msgid "Printing Actions"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:27 templates/stock_table.html:41
+msgid "Print labels"
+msgstr ""
+
+#: stock/templates/stock/tracking_delete.html:6
+msgid "Are you sure you want to delete this stock tracking entry?"
+msgstr ""
+
+#: stock/views.py:123
+msgid "Edit Stock Location"
+msgstr ""
+
+#: stock/views.py:230 stock/views.py:1322 stock/views.py:1433
+#: stock/views.py:1798
+msgid "Owner is required (ownership control is enabled)"
+msgstr ""
+
+#: stock/views.py:245
+msgid "Stock Location QR code"
+msgstr ""
+
+#: stock/views.py:265
+msgid "Add Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:311
+msgid "Edit Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:327
+msgid "Delete Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:343
+msgid "Assign to Customer"
+msgstr ""
+
+#: stock/views.py:352
+msgid "Customer must be specified"
+msgstr ""
+
+#: stock/views.py:376
+msgid "Return to Stock"
+msgstr ""
+
+#: stock/views.py:385
+msgid "Specify a valid location"
+msgstr ""
+
+#: stock/views.py:396
+msgid "Stock item returned from customer"
+msgstr ""
+
+#: stock/views.py:407
+msgid "Delete All Test Data"
+msgstr ""
+
+#: stock/views.py:424
+msgid "Confirm test data deletion"
+msgstr ""
+
+#: stock/views.py:444
+msgid "Add Test Result"
+msgstr ""
+
+#: stock/views.py:484
+msgid "Edit Test Result"
+msgstr ""
+
+#: stock/views.py:501
+msgid "Delete Test Result"
+msgstr ""
+
+#: stock/views.py:509
+msgid "Stock Export Options"
+msgstr ""
+
+#: stock/views.py:630
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/views.py:656
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/views.py:755
+msgid "Uninstall Stock Items"
+msgstr ""
+
+#: stock/views.py:863
+msgid "Uninstalled stock items"
+msgstr ""
+
+#: stock/views.py:888
+msgid "Adjust Stock"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move Stock Items"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count Stock Items"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Remove From Stock"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Take"
+msgstr ""
+
+#: stock/views.py:1001
+msgid "Add Stock Items"
+msgstr ""
+
+#: stock/views.py:1001 users/models.py:180
+msgid "Add"
+msgstr ""
+
+#: stock/views.py:1002
+msgid "Delete Stock Items"
+msgstr ""
+
+#: stock/views.py:1031
+msgid "Must enter integer value"
+msgstr ""
+
+#: stock/views.py:1036
+msgid "Quantity must be positive"
+msgstr ""
+
+#: stock/views.py:1043
+#, python-brace-format
+msgid "Quantity must not exceed {x}"
+msgstr ""
+
+#: stock/views.py:1107
+msgid "No action performed"
+msgstr ""
+
+#: stock/views.py:1122
+#, python-brace-format
+msgid "Added stock to {n} items"
+msgstr ""
+
+#: stock/views.py:1137
+#, python-brace-format
+msgid "Removed stock from {n} items"
+msgstr ""
+
+#: stock/views.py:1150
+#, python-brace-format
+msgid "Counted stock for {n} items"
+msgstr ""
+
+#: stock/views.py:1190
+msgid "No items were moved"
+msgstr ""
+
+#: stock/views.py:1193
+#, python-brace-format
+msgid "Moved {n} items to {dest}"
+msgstr ""
+
+#: stock/views.py:1212
+#, python-brace-format
+msgid "Deleted {n} stock items"
+msgstr ""
+
+#: stock/views.py:1224
+msgid "Edit Stock Item"
+msgstr ""
+
+#: stock/views.py:1450
+msgid "Serialize Stock"
+msgstr ""
+
+#: stock/views.py:1543 templates/js/build.js:244
+msgid "Create new Stock Item"
+msgstr ""
+
+#: stock/views.py:1685
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: stock/views.py:1767
+msgid "Quantity cannot be negative"
+msgstr ""
+
+#: stock/views.py:1867
+msgid "Delete Stock Location"
+msgstr ""
+
+#: stock/views.py:1880
+msgid "Delete Stock Item"
+msgstr ""
+
+#: stock/views.py:1891
+msgid "Delete Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1898
+msgid "Edit Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1907
+msgid "Add Stock Tracking Entry"
+msgstr ""
+
+#: templates/403.html:5 templates/403.html:11
+msgid "Permission Denied"
+msgstr ""
+
+#: templates/403.html:14
+msgid "You do not have permission to view this page."
+msgstr ""
+
+#: templates/404.html:5 templates/404.html:11
+msgid "Page Not Found"
+msgstr ""
+
+#: templates/404.html:14
+msgid "The requested page does not exist"
+msgstr ""
+
+#: templates/InvenTree/index.html:7
+msgid "Index"
+msgstr ""
+
+#: templates/InvenTree/index.html:98
+msgid "Starred Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:99
+msgid "Latest Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:100
+msgid "BOM Waiting Validation"
+msgstr ""
+
+#: templates/InvenTree/index.html:129
+msgid "Recently Updated"
+msgstr ""
+
+#: templates/InvenTree/index.html:145
+msgid "Expired Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:146
+msgid "Stale Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:184
+msgid "Build Orders In Progress"
+msgstr ""
+
+#: templates/InvenTree/index.html:185
+msgid "Overdue Build Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:206
+msgid "Outstanding Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:207
+msgid "Overdue Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:229
+msgid "Outstanding Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:230
+msgid "Overdue Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+msgid "Search Results"
+msgstr ""
+
+#: templates/InvenTree/search.html:24
+msgid "Enter a search query"
+msgstr ""
+
+#: templates/InvenTree/search.html:268 templates/js/stock.js:300
+msgid "Shipped to customer"
+msgstr ""
+
+#: templates/InvenTree/search.html:271 templates/js/stock.js:310
+msgid "No stock location set"
+msgstr ""
+
+#: templates/InvenTree/settings/build.html:10
+msgid "Build Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:9
+msgid "Category Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:25
+msgid "Category Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:52
+msgid "No category parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:70
+#: templates/InvenTree/settings/part.html:81
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:71
+#: templates/InvenTree/settings/part.html:82
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:10
+msgid "Global InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:27
+msgid "Barcode Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/header.html:7
+msgid "Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:9
+msgid "Part Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:14
+msgid "Part Options"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:40
+msgid "Part Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:61
+msgid "No part parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/po.html:9
+msgid "Purchase Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/report.html:10
+msgid "Report Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:23
+msgid "No value set"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:31
+msgid "Edit setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:8
+#: templates/InvenTree/settings/settings.html:14 templates/navbar.html:84
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/so.html:9
+msgid "Sales Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:9
+msgid "Stock Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:49
+msgid "Stock Options"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:3
+#: templates/InvenTree/settings/user.html:10
+msgid "User Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:6
+msgid "Account"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:9
+msgid "Theme"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:13
+msgid "InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:16
+msgid "Global"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:19
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:22
+msgid "Categories"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:10
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:17
+msgid "Color Themes"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:29
+#, python-format
+msgid ""
+"\n"
+"\t\tThe CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected "
+"color theme was not found.
\n"
+"\t\tPlease select another color theme :)\n"
+"\t"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:16
+msgid "User Information"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:21
+msgid "Change Password"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:28
+#: templates/registration/login.html:59
+msgid "Username"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:32
+msgid "First Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:36
+msgid "Last Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:40
+msgid "Email Address"
+msgstr ""
+
+#: templates/about.html:13
+msgid "InvenTree Version Information"
+msgstr ""
+
+#: templates/about.html:22
+msgid "InvenTree Version"
+msgstr ""
+
+#: templates/about.html:26
+msgid "Up to Date"
+msgstr ""
+
+#: templates/about.html:28
+msgid "Update Available"
+msgstr ""
+
+#: templates/about.html:34
+msgid "Django Version"
+msgstr ""
+
+#: templates/about.html:41
+msgid "Commit Hash"
+msgstr ""
+
+#: templates/about.html:48
+msgid "Commit Date"
+msgstr ""
+
+#: templates/about.html:53
+msgid "InvenTree Documentation"
+msgstr ""
+
+#: templates/about.html:58
+msgid "View Code on GitHub"
+msgstr ""
+
+#: templates/about.html:63
+msgid "Get the App"
+msgstr ""
+
+#: templates/about.html:68
+msgid "Submit Bug Report"
+msgstr ""
+
+#: templates/attachment_table.html:6
+msgid "Add Attachment"
+msgstr ""
+
+#: templates/attachment_table.html:15
+msgid "File"
+msgstr ""
+
+#: templates/attachment_table.html:17
+msgid "Uploaded"
+msgstr ""
+
+#: templates/attachment_table.html:35
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/image_download.html:8
+msgid "Specify URL for downloading image"
+msgstr ""
+
+#: templates/image_download.html:11
+msgid "Must be a valid image URL"
+msgstr ""
+
+#: templates/image_download.html:12
+msgid "Remote server must be accessible"
+msgstr ""
+
+#: templates/image_download.html:13
+msgid "Remote image must not exceed maximum allowable file size"
+msgstr ""
+
+#: templates/js/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/barcode.js:119 templates/js/modals.js:857
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:311
+msgid ""
+"This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/barcode.js:376
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/barcode.js:422 templates/js/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/barcode.js:462 templates/js/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/bom.js:175 templates/js/build.js:994
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/bom.js:261
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/filters.js:397
+msgid "true"
+msgstr ""
+
+#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/filters.js:398
+msgid "false"
+msgstr ""
+
+#: templates/js/bom.js:290 templates/js/bom.js:376
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/bom.js:350
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:352
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/bom.js:354
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:356
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/build.js:62
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/build.js:70
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/build.js:80
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/build.js:89
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/build.js:243 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/build.js:549
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/build.js:570
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/build.js:638 templates/js/build.js:1056
+#: templates/stock_table.html:58
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/build.js:691
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
+#: templates/js/stock.js:511 templates/js/stock.js:938
+#: templates/js/stock.js:1331
+msgid "Select"
+msgstr ""
+
+#: templates/js/build.js:728
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/build.js:827
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/company.js:74
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/company.js:83
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/company.js:96
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/company.js:129
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/company.js:148 templates/js/company.js:246
+#: templates/js/part.js:60 templates/js/part.js:145
+msgid "Template part"
+msgstr ""
+
+#: templates/js/company.js:152 templates/js/company.js:250
+#: templates/js/part.js:64 templates/js/part.js:149
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/company.js:227
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/filters.js:268
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/filters.js:271
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/filters.js:296
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/label.js:10 templates/js/report.js:98
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:29 templates/js/label.js:79
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/label.js:154
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/label.js:162
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/label.js:177
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/modals.js:256
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/modals.js:406
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/modals.js:473 templates/modals.html:73
+msgid "Accept"
+msgstr ""
+
+#: templates/js/modals.js:474 templates/modals.html:72
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/modals.js:538
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/modals.js:549 templates/js/modals.js:808
+#: templates/modals.html:29 templates/modals.html:53
+msgid "Submit"
+msgstr ""
+
+#: templates/js/modals.js:550 templates/js/modals.js:809
+#: templates/modals.html:28 templates/modals.html:52 templates/modals.html:93
+msgid "Close"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/modals.js:773
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/modals.js:857
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/modals.js:867
+msgid "No Response"
+msgstr ""
+
+#: templates/js/modals.js:868
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/modals.js:872
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/modals.js:873
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/modals.js:877
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/modals.js:878
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/modals.js:882
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/modals.js:883
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/modals.js:887
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/modals.js:888
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/modals.js:892
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/modals.js:893
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/modals.js:896
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/order.js:138
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/order.js:162 templates/js/order.js:257
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/order.js:234
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/part.js:52 templates/js/part.js:137
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/part.js:56 templates/js/part.js:141
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/part.js:68
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/part.js:72
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/part.js:186
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/part.js:272 templates/js/part.js:452
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/part.js:391
+msgid "No category"
+msgstr ""
+
+#: templates/js/part.js:409 templates/js/table_filters.js:318
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/part.js:571 templates/js/stock.js:962
+msgid "Path"
+msgstr ""
+
+#: templates/js/part.js:588
+msgid "YES"
+msgstr ""
+
+#: templates/js/part.js:590
+msgid "NO"
+msgstr ""
+
+#: templates/js/part.js:624
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/part.js:675 templates/js/stock.js:75
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/part.js:676 templates/js/stock.js:76
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/part.js:682
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/report.js:47
+msgid "items selected"
+msgstr ""
+
+#: templates/js/report.js:55
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/report.js:70
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/report.js:99
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:116 templates/js/report.js:169
+#: templates/js/report.js:223 templates/js/report.js:277
+#: templates/js/report.js:331
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/report.js:117
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/report.js:152
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/report.js:153
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:170
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:224
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/report.js:259
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/report.js:260
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/report.js:278 templates/js/report.js:332
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/report.js:313
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/report.js:314
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/stock.js:38
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:40
+msgid "FAIL"
+msgstr ""
+
+#: templates/js/stock.js:45
+msgid "NO RESULT"
+msgstr ""
+
+#: templates/js/stock.js:71
+msgid "Add test result"
+msgstr ""
+
+#: templates/js/stock.js:90
+msgid "No test results found"
+msgstr ""
+
+#: templates/js/stock.js:132
+msgid "Test Date"
+msgstr ""
+
+#: templates/js/stock.js:292
+msgid "In production"
+msgstr ""
+
+#: templates/js/stock.js:296
+msgid "Installed in Stock Item"
+msgstr ""
+
+#: templates/js/stock.js:304
+msgid "Assigned to Sales Order"
+msgstr ""
+
+#: templates/js/stock.js:336
+msgid "No stock items matching query"
+msgstr ""
+
+#: templates/js/stock.js:357
+msgid "items"
+msgstr ""
+
+#: templates/js/stock.js:449
+msgid "batches"
+msgstr ""
+
+#: templates/js/stock.js:476
+msgid "locations"
+msgstr ""
+
+#: templates/js/stock.js:478
+msgid "Undefined location"
+msgstr ""
+
+#: templates/js/stock.js:579
+msgid "Stock item is in production"
+msgstr ""
+
+#: templates/js/stock.js:584
+msgid "Stock item assigned to sales order"
+msgstr ""
+
+#: templates/js/stock.js:587
+msgid "Stock item assigned to customer"
+msgstr ""
+
+#: templates/js/stock.js:591
+msgid "Stock item has expired"
+msgstr ""
+
+#: templates/js/stock.js:593
+msgid "Stock item will expire soon"
+msgstr ""
+
+#: templates/js/stock.js:597
+msgid "Stock item has been allocated"
+msgstr ""
+
+#: templates/js/stock.js:601
+msgid "Stock item has been installed in another item"
+msgstr ""
+
+#: templates/js/stock.js:609
+msgid "Stock item has been rejected"
+msgstr ""
+
+#: templates/js/stock.js:613
+msgid "Stock item is lost"
+msgstr ""
+
+#: templates/js/stock.js:616
+msgid "Stock item is destroyed"
+msgstr ""
+
+#: templates/js/stock.js:620 templates/js/table_filters.js:138
+msgid "Depleted"
+msgstr ""
+
+#: templates/js/stock.js:649
+msgid "Stocktake"
+msgstr ""
+
+#: templates/js/stock.js:825
+msgid "Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:840
+msgid "Set Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:854
+msgid "Select Status Code"
+msgstr ""
+
+#: templates/js/stock.js:855
+msgid "Status code must be selected"
+msgstr ""
+
+#: templates/js/stock.js:1050
+msgid "No user information"
+msgstr ""
+
+#: templates/js/stock.js:1060
+msgid "Edit tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1061
+msgid "Delete tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1170
+msgid "Create New Location"
+msgstr ""
+
+#: templates/js/stock.js:1269
+msgid "Serial"
+msgstr ""
+
+#: templates/js/stock.js:1362 templates/js/table_filters.js:171
+msgid "Installed"
+msgstr ""
+
+#: templates/js/stock.js:1387
+msgid "Install item"
+msgstr ""
+
+#: templates/js/table_filters.js:42
+msgid "Trackable Part"
+msgstr ""
+
+#: templates/js/table_filters.js:46
+msgid "Validated"
+msgstr ""
+
+#: templates/js/table_filters.js:71
+msgid "Include locations"
+msgstr ""
+
+#: templates/js/table_filters.js:81 templates/js/table_filters.js:82
+#: templates/js/table_filters.js:295
+msgid "Include subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:92 templates/js/table_filters.js:181
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/table_filters.js:95 templates/js/table_filters.js:188
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/table_filters.js:96 templates/js/table_filters.js:189
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:99 templates/js/table_filters.js:192
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/table_filters.js:100 templates/js/table_filters.js:193
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:103 templates/js/table_filters.js:104
+#: templates/js/table_filters.js:184 templates/js/table_filters.js:185
+msgid "Serial number"
+msgstr ""
+
+#: templates/js/table_filters.js:108 templates/js/table_filters.js:202
+msgid "Batch code"
+msgstr ""
+
+#: templates/js/table_filters.js:118 templates/js/table_filters.js:285
+msgid "Active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:119
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:124
+msgid "Part is an assembly"
+msgstr ""
+
+#: templates/js/table_filters.js:128
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:129
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:134
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/table_filters.js:139
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/table_filters.js:146
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/table_filters.js:151
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/table_filters.js:157
+msgid "Show items which are in stock"
+msgstr ""
+
+#: templates/js/table_filters.js:161
+msgid "In Production"
+msgstr ""
+
+#: templates/js/table_filters.js:162
+msgid "Show items which are in production"
+msgstr ""
+
+#: templates/js/table_filters.js:166
+msgid "Include Variants"
+msgstr ""
+
+#: templates/js/table_filters.js:167
+msgid "Include stock items for variant parts"
+msgstr ""
+
+#: templates/js/table_filters.js:172
+msgid "Show stock items which are installed in another item"
+msgstr ""
+
+#: templates/js/table_filters.js:176
+msgid "Sent to customer"
+msgstr ""
+
+#: templates/js/table_filters.js:177
+msgid "Show items which have been assigned to a customer"
+msgstr ""
+
+#: templates/js/table_filters.js:197 templates/js/table_filters.js:198
+msgid "Stock status"
+msgstr ""
+
+#: templates/js/table_filters.js:231
+msgid "Build status"
+msgstr ""
+
+#: templates/js/table_filters.js:250 templates/js/table_filters.js:267
+msgid "Order status"
+msgstr ""
+
+#: templates/js/table_filters.js:255 templates/js/table_filters.js:272
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/table_filters.js:296
+msgid "Include parts in subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:300
+msgid "Has IPN"
+msgstr ""
+
+#: templates/js/table_filters.js:301
+msgid "Part has internal part number"
+msgstr ""
+
+#: templates/js/table_filters.js:306
+msgid "Show active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:314
+msgid "Stock available"
+msgstr ""
+
+#: templates/js/table_filters.js:330
+msgid "Starred"
+msgstr ""
+
+#: templates/js/table_filters.js:342
+msgid "Purchasable"
+msgstr ""
+
+#: templates/js/tables.js:321
+msgid "Loading data"
+msgstr ""
+
+#: templates/js/tables.js:324
+msgid "rows per page"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "Showing"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "to"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "of"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "rows"
+msgstr ""
+
+#: templates/js/tables.js:330 templates/search_form.html:6
+#: templates/search_form.html:8
+msgid "Search"
+msgstr ""
+
+#: templates/js/tables.js:333
+msgid "No matching results"
+msgstr ""
+
+#: templates/js/tables.js:336
+msgid "Hide/Show pagination"
+msgstr ""
+
+#: templates/js/tables.js:339
+msgid "Refresh"
+msgstr ""
+
+#: templates/js/tables.js:342
+msgid "Toggle"
+msgstr ""
+
+#: templates/js/tables.js:345
+msgid "Columns"
+msgstr ""
+
+#: templates/js/tables.js:348
+msgid "All"
+msgstr ""
+
+#: templates/modals.html:21 templates/modals.html:46
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/navbar.html:33
+msgid "Buy"
+msgstr ""
+
+#: templates/navbar.html:43
+msgid "Sell"
+msgstr ""
+
+#: templates/navbar.html:55
+msgid "Scan Barcode"
+msgstr ""
+
+#: templates/navbar.html:77 users/models.py:36
+msgid "Admin"
+msgstr ""
+
+#: templates/navbar.html:79
+msgid "Logout"
+msgstr ""
+
+#: templates/navbar.html:81 templates/registration/login.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:104
+msgid "About InvenTree"
+msgstr ""
+
+#: templates/qr_code.html:11
+msgid "QR data not provided"
+msgstr ""
+
+#: templates/registration/logged_out.html:51
+msgid "You have been logged out"
+msgstr ""
+
+#: templates/registration/logged_out.html:52
+#: templates/registration/password_reset_complete.html:52
+#: templates/registration/password_reset_done.html:59
+msgid "Return to login screen"
+msgstr ""
+
+#: templates/registration/login.html:65
+msgid "Enter username"
+msgstr ""
+
+#: templates/registration/login.html:71
+msgid "Password"
+msgstr ""
+
+#: templates/registration/login.html:84
+msgid "Username / password combination is incorrect"
+msgstr ""
+
+#: templates/registration/login.html:96
+#: templates/registration/password_reset_form.html:52
+msgid "Forgotten your password?"
+msgstr ""
+
+#: templates/registration/login.html:96
+msgid "Click here to reset"
+msgstr ""
+
+#: templates/registration/password_reset_complete.html:51
+msgid "Password reset complete"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:53
+#: templates/registration/password_reset_confirm.html:57
+msgid "Change password"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:61
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:52
+msgid ""
+"We've emailed you instructions for setting your password, if an account "
+"exists with the email you entered. You should receive them shortly."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:55
+msgid ""
+"If you don't receive an email, please make sure you've entered the address "
+"you registered with, and check your spam folder."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:53
+msgid "Enter your email address below."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:54
+msgid "An email will be sent with password reset instructions."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:59
+msgid "Send email"
+msgstr ""
+
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
+#: templates/stats.html:13
+msgid "Instance Name"
+msgstr ""
+
+#: templates/stats.html:19
+msgid "Server status"
+msgstr ""
+
+#: templates/stats.html:22
+msgid "Healthy"
+msgstr ""
+
+#: templates/stats.html:24
+msgid "Issues detected"
+msgstr ""
+
+#: templates/stats.html:31
+msgid "Background Worker"
+msgstr ""
+
+#: templates/stats.html:34
+msgid "Background worker not running"
+msgstr ""
+
+#: templates/stats.html:42
+msgid "Email Settings"
+msgstr ""
+
+#: templates/stats.html:45
+msgid "Email settings not configured"
+msgstr ""
+
+#: templates/stock_table.html:14
+msgid "Export Stock Information"
+msgstr ""
+
+#: templates/stock_table.html:27
+msgid "Barcode Actions"
+msgstr ""
+
+#: templates/stock_table.html:43
+msgid "Print test reports"
+msgstr ""
+
+#: templates/stock_table.html:54
+msgid "Add to selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:55
+msgid "Remove from selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:56
+msgid "Stocktake selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move stock"
+msgstr ""
+
+#: templates/stock_table.html:58
+msgid "Order selected items"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change status"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change stock status"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete selected items"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/yesnolabel.html:4
+msgid "Yes"
+msgstr ""
+
+#: templates/yesnolabel.html:6
+msgid "No"
+msgstr ""
+
+#: users/admin.py:64
+msgid "Users"
+msgstr ""
+
+#: users/admin.py:65
+msgid "Select which users are assigned to this group"
+msgstr ""
+
+#: users/admin.py:187
+msgid "The following users are members of multiple groups:"
+msgstr ""
+
+#: users/admin.py:210
+msgid "Personal info"
+msgstr ""
+
+#: users/admin.py:211
+msgid "Permissions"
+msgstr ""
+
+#: users/admin.py:214
+msgid "Important dates"
+msgstr ""
+
+#: users/models.py:167
+msgid "Permission set"
+msgstr ""
+
+#: users/models.py:175
+msgid "Group"
+msgstr ""
+
+#: users/models.py:178
+msgid "View"
+msgstr ""
+
+#: users/models.py:178
+msgid "Permission to view items"
+msgstr ""
+
+#: users/models.py:180
+msgid "Permission to add items"
+msgstr ""
+
+#: users/models.py:182
+msgid "Change"
+msgstr ""
+
+#: users/models.py:182
+msgid "Permissions to edit items"
+msgstr ""
+
+#: users/models.py:184
+msgid "Permission to delete items"
+msgstr ""
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.mo b/InvenTree/locale/ja/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..314bedb17d
Binary files /dev/null and b/InvenTree/locale/ja/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
new file mode 100644
index 0000000000..ac326cd303
--- /dev/null
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -0,0 +1,7288 @@
+# 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 , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-04-21 17:15+1000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: InvenTree/api.py:64
+msgid "API endpoint not found"
+msgstr ""
+
+#: InvenTree/api.py:110
+msgid "No action specified"
+msgstr ""
+
+#: InvenTree/api.py:124
+msgid "No matching action found"
+msgstr ""
+
+#: InvenTree/fields.py:44
+msgid "Enter date"
+msgstr ""
+
+#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122
+#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226
+#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
+#: order/forms.py:71 part/forms.py:134
+msgid "Confirm"
+msgstr ""
+
+#: InvenTree/forms.py:126
+msgid "Confirm delete"
+msgstr ""
+
+#: InvenTree/forms.py:127
+msgid "Confirm item deletion"
+msgstr ""
+
+#: InvenTree/forms.py:159 templates/registration/login.html:77
+msgid "Enter password"
+msgstr ""
+
+#: InvenTree/forms.py:160
+msgid "Enter new password"
+msgstr ""
+
+#: InvenTree/forms.py:167
+msgid "Confirm password"
+msgstr ""
+
+#: InvenTree/forms.py:168
+msgid "Confirm new password"
+msgstr ""
+
+#: InvenTree/forms.py:203
+msgid "Apply Theme"
+msgstr ""
+
+#: InvenTree/forms.py:233
+msgid "Select Category"
+msgstr ""
+
+#: InvenTree/helpers.py:375 order/models.py:245 order/models.py:344
+#: stock/views.py:1763
+msgid "Invalid quantity provided"
+msgstr ""
+
+#: InvenTree/helpers.py:378
+msgid "Empty serial number string"
+msgstr ""
+
+#: InvenTree/helpers.py:399
+#, python-brace-format
+msgid "Duplicate serial: {n}"
+msgstr ""
+
+#: InvenTree/helpers.py:403 InvenTree/helpers.py:406 InvenTree/helpers.py:409
+#, python-brace-format
+msgid "Invalid group: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:414
+#, python-brace-format
+msgid "Duplicate serial: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:422
+msgid "No serial numbers found"
+msgstr ""
+
+#: InvenTree/helpers.py:426
+#, python-brace-format
+msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgstr ""
+
+#: InvenTree/models.py:59 stock/models.py:1662
+msgid "Attachment"
+msgstr ""
+
+#: InvenTree/models.py:60
+msgid "Select file to attach"
+msgstr ""
+
+#: InvenTree/models.py:62 templates/attachment_table.html:16
+msgid "Comment"
+msgstr ""
+
+#: InvenTree/models.py:62
+msgid "File comment"
+msgstr ""
+
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1908
+#: report/templates/report/inventree_test_report_base.html:91
+#: templates/js/stock.js:1041
+msgid "User"
+msgstr ""
+
+#: InvenTree/models.py:72
+msgid "upload date"
+msgstr ""
+
+#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:101
+#: part/models.py:686 part/models.py:2049 part/templates/part/params.html:27
+#: report/models.py:179 templates/InvenTree/search.html:137
+#: templates/InvenTree/search.html:289 templates/js/part.js:110
+#: templates/js/part.js:553 templates/js/stock.js:944
+msgid "Name"
+msgstr ""
+
+#: InvenTree/models.py:114 build/models.py:134
+#: build/templates/build/detail.html:21 company/models.py:342
+#: company/models.py:494 company/templates/company/detail.html:27
+#: company/templates/company/manufacturer_part_base.html:72
+#: company/templates/company/supplier_part_base.html:71
+#: company/templates/company/supplier_part_detail.html:31 label/models.py:108
+#: order/models.py:101 order/templates/order/purchase_order_detail.html:168
+#: part/models.py:710 part/templates/part/detail.html:54
+#: part/templates/part/set_category.html:14 report/models.py:192
+#: report/models.py:505 report/models.py:544
+#: report/templates/report/inventree_build_order_base.html:118
+#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
+#: templates/InvenTree/search.html:296
+#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
+#: templates/js/build.js:736 templates/js/build.js:1004
+#: templates/js/company.js:56 templates/js/order.js:183
+#: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252
+#: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643
+#: templates/js/stock.js:554 templates/js/stock.js:956
+#: templates/js/stock.js:1015
+msgid "Description"
+msgstr ""
+
+#: InvenTree/models.py:115
+msgid "Description (optional)"
+msgstr ""
+
+#: InvenTree/models.py:123
+msgid "parent"
+msgstr ""
+
+#: InvenTree/settings.py:493
+msgid "English"
+msgstr ""
+
+#: InvenTree/settings.py:494
+msgid "French"
+msgstr ""
+
+#: InvenTree/settings.py:495
+msgid "German"
+msgstr ""
+
+#: InvenTree/settings.py:496
+msgid "Polish"
+msgstr ""
+
+#: InvenTree/settings.py:497
+msgid "Turkish"
+msgstr ""
+
+#: InvenTree/status.py:93
+msgid "Background worker check failed"
+msgstr ""
+
+#: InvenTree/status.py:97
+msgid "Email backend not configured"
+msgstr ""
+
+#: InvenTree/status.py:100
+msgid "InvenTree system health checks failed"
+msgstr ""
+
+#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143
+#: InvenTree/status_codes.py:236
+msgid "Pending"
+msgstr ""
+
+#: InvenTree/status_codes.py:103
+msgid "Placed"
+msgstr ""
+
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239
+msgid "Complete"
+msgstr ""
+
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:238
+msgid "Cancelled"
+msgstr ""
+
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:188
+msgid "Lost"
+msgstr ""
+
+#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
+#: InvenTree/status_codes.py:190
+msgid "Returned"
+msgstr ""
+
+#: InvenTree/status_codes.py:144
+#: order/templates/order/sales_order_base.html:124
+msgid "Shipped"
+msgstr ""
+
+#: InvenTree/status_codes.py:184
+msgid "OK"
+msgstr ""
+
+#: InvenTree/status_codes.py:185
+msgid "Attention needed"
+msgstr ""
+
+#: InvenTree/status_codes.py:186
+msgid "Damaged"
+msgstr ""
+
+#: InvenTree/status_codes.py:187
+msgid "Destroyed"
+msgstr ""
+
+#: InvenTree/status_codes.py:189
+msgid "Rejected"
+msgstr ""
+
+#: InvenTree/status_codes.py:237
+msgid "Production"
+msgstr ""
+
+#: InvenTree/validators.py:22
+msgid "Not a valid currency code"
+msgstr ""
+
+#: InvenTree/validators.py:50
+msgid "Invalid character in part name"
+msgstr ""
+
+#: InvenTree/validators.py:63
+#, python-brace-format
+msgid "IPN must match regex pattern {pat}"
+msgstr ""
+
+#: InvenTree/validators.py:77 InvenTree/validators.py:91
+#: InvenTree/validators.py:105
+msgid "Reference must match pattern"
+msgstr ""
+
+#: InvenTree/validators.py:113
+#, python-brace-format
+msgid "Illegal character in name ({x})"
+msgstr ""
+
+#: InvenTree/validators.py:132 InvenTree/validators.py:148
+msgid "Overage value must not be negative"
+msgstr ""
+
+#: InvenTree/validators.py:150
+msgid "Overage must not exceed 100%"
+msgstr ""
+
+#: InvenTree/validators.py:157
+msgid "Overage must be an integer value or a percentage"
+msgstr ""
+
+#: InvenTree/views.py:587
+msgid "Delete Item"
+msgstr ""
+
+#: InvenTree/views.py:636
+msgid "Check box to confirm item deletion"
+msgstr ""
+
+#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+msgid "Edit User Information"
+msgstr ""
+
+#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+msgid "Set Password"
+msgstr ""
+
+#: InvenTree/views.py:681
+msgid "Password fields must match"
+msgstr ""
+
+#: InvenTree/views.py:887 templates/navbar.html:95
+msgid "System Information"
+msgstr ""
+
+#: barcodes/api.py:53 barcodes/api.py:150
+msgid "Must provide barcode_data parameter"
+msgstr ""
+
+#: barcodes/api.py:126
+msgid "No match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:128
+msgid "Match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:153
+msgid "Must provide stockitem parameter"
+msgstr ""
+
+#: barcodes/api.py:160
+msgid "No matching stock item found"
+msgstr ""
+
+#: barcodes/api.py:190
+msgid "Barcode already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:194
+msgid "Barcode already matches StockLocation object"
+msgstr ""
+
+#: barcodes/api.py:198
+msgid "Barcode already matches Part object"
+msgstr ""
+
+#: barcodes/api.py:204 barcodes/api.py:216
+msgid "Barcode hash already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:222
+msgid "Barcode associated with StockItem"
+msgstr ""
+
+#: build/forms.py:36
+msgid "Build Order reference"
+msgstr ""
+
+#: build/forms.py:37
+msgid "Order target date"
+msgstr ""
+
+#: build/forms.py:41 build/templates/build/build_base.html:136
+#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
+#: order/templates/order/order_base.html:124
+#: order/templates/order/sales_order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/build.js:783 templates/js/order.js:200
+#: templates/js/order.js:298
+msgid "Target Date"
+msgstr ""
+
+#: build/forms.py:42 build/models.py:224
+msgid ""
+"Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227
+#: build/templates/build/allocation_card.html:23
+#: build/templates/build/auto_allocate.html:17
+#: build/templates/build/build_base.html:123
+#: build/templates/build/detail.html:31 common/models.py:703
+#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
+#: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261
+#: order/forms.py:278 order/models.py:593 order/models.py:784
+#: order/templates/order/order_wizard/select_parts.html:32
+#: order/templates/order/purchase_order_detail.html:200
+#: order/templates/order/sales_order_detail.html:70
+#: order/templates/order/sales_order_detail.html:77
+#: order/templates/order/sales_order_detail.html:159
+#: order/templates/order/sales_order_detail.html:224 part/forms.py:342
+#: part/forms.py:371 part/forms.py:387 part/models.py:2178
+#: part/templates/part/allocation.html:19
+#: part/templates/part/allocation.html:53
+#: part/templates/part/part_pricing.html:11
+#: part/templates/part/part_pricing.html:18
+#: part/templates/part/sale_prices.html:85
+#: report/templates/report/inventree_build_order_base.html:114
+#: report/templates/report/inventree_po_report.html:91
+#: report/templates/report/inventree_so_report.html:91
+#: report/templates/report/inventree_test_report_base.html:77
+#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566
+#: stock/templates/stock/item_base.html:244
+#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
+#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
+#: templates/js/stock.js:1033 templates/js/stock.js:1271
+msgid "Quantity"
+msgstr ""
+
+#: build/forms.py:48
+msgid "Number of items to build"
+msgstr ""
+
+#: build/forms.py:90
+msgid "Enter quantity for build output"
+msgstr ""
+
+#: build/forms.py:94 order/forms.py:233 stock/forms.py:118
+msgid "Serial Numbers"
+msgstr ""
+
+#: build/forms.py:96
+msgid "Enter serial numbers for build outputs"
+msgstr ""
+
+#: build/forms.py:102
+msgid "Confirm creation of build output"
+msgstr ""
+
+#: build/forms.py:123
+msgid "Confirm deletion of build output"
+msgstr ""
+
+#: build/forms.py:144
+msgid "Confirm unallocation of stock"
+msgstr ""
+
+#: build/forms.py:168
+msgid "Confirm stock allocation"
+msgstr ""
+
+#: build/forms.py:185
+msgid "Mark build as complete"
+msgstr ""
+
+#: build/forms.py:209 build/templates/build/auto_allocate.html:18
+#: order/forms.py:82 stock/forms.py:347
+#: stock/templates/stock/item_base.html:274
+#: stock/templates/stock/stock_adjust.html:17
+#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
+#: templates/js/barcode.js:531 templates/js/build.js:490
+#: templates/js/stock.js:641
+msgid "Location"
+msgstr ""
+
+#: build/forms.py:210
+msgid "Location of completed parts"
+msgstr ""
+
+#: build/forms.py:214 build/templates/build/build_base.html:128
+#: build/templates/build/detail.html:59 order/models.py:445
+#: order/templates/order/receive_parts.html:24
+#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
+#: templates/js/barcode.js:119 templates/js/build.js:770
+#: templates/js/order.js:187 templates/js/order.js:285
+#: templates/js/stock.js:628 templates/js/stock.js:1279
+msgid "Status"
+msgstr ""
+
+#: build/forms.py:215
+msgid "Build output stock status"
+msgstr ""
+
+#: build/forms.py:222
+msgid "Confirm incomplete"
+msgstr ""
+
+#: build/forms.py:223
+msgid "Confirm completion with incomplete stock allocation"
+msgstr ""
+
+#: build/forms.py:226
+msgid "Confirm build completion"
+msgstr ""
+
+#: build/forms.py:251
+msgid "Confirm cancel"
+msgstr ""
+
+#: build/forms.py:251 build/views.py:66
+msgid "Confirm build cancellation"
+msgstr ""
+
+#: build/forms.py:265
+msgid "Select quantity of stock to allocate"
+msgstr ""
+
+#: build/models.py:65 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:63
+#: part/templates/part/allocation.html:23
+#: report/templates/report/inventree_build_order_base.html:106
+msgid "Build Order"
+msgstr ""
+
+#: build/models.py:66 build/templates/build/index.html:8
+#: build/templates/build/index.html:15 order/templates/order/so_builds.html:12
+#: order/templates/order/so_navbar.html:19
+#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
+#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
+#: templates/InvenTree/search.html:185
+#: templates/InvenTree/settings/tabs.html:31 users/models.py:41
+msgid "Build Orders"
+msgstr ""
+
+#: build/models.py:126
+msgid "Build Order Reference"
+msgstr ""
+
+#: build/models.py:127 order/models.py:99 order/models.py:595
+#: order/templates/order/purchase_order_detail.html:195
+#: order/templates/order/sales_order_detail.html:219 part/models.py:2187
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
+#: templates/js/build.js:565 templates/js/build.js:1008
+msgid "Reference"
+msgstr ""
+
+#: build/models.py:137
+msgid "Brief description of the build"
+msgstr ""
+
+#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/templates/build/detail.html:77
+msgid "Parent Build"
+msgstr ""
+
+#: build/models.py:147
+msgid "BuildOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:152 build/templates/build/auto_allocate.html:16
+#: build/templates/build/build_base.html:118
+#: build/templates/build/detail.html:26 company/models.py:669
+#: order/models.py:637 order/models.py:669
+#: order/templates/order/order_wizard/select_parts.html:30
+#: order/templates/order/purchase_order_detail.html:156
+#: order/templates/order/receive_parts.html:19
+#: order/templates/order/sales_order_detail.html:207 part/models.py:321
+#: part/models.py:1876 part/models.py:1888 part/models.py:1906
+#: part/models.py:1981 part/models.py:2077 part/models.py:2162
+#: part/templates/part/part_app_base.html:8
+#: part/templates/part/part_pricing.html:14 part/templates/part/related.html:29
+#: part/templates/part/set_category.html:13
+#: report/templates/report/inventree_build_order_base.html:110
+#: report/templates/report/inventree_po_report.html:90
+#: report/templates/report/inventree_so_report.html:90
+#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
+#: templates/js/barcode.js:362 templates/js/bom.js:163
+#: templates/js/build.js:741 templates/js/build.js:981
+#: templates/js/company.js:140 templates/js/company.js:238
+#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
+#: templates/js/stock.js:1343
+msgid "Part"
+msgstr ""
+
+#: build/models.py:160
+msgid "Select part to build"
+msgstr ""
+
+#: build/models.py:165
+msgid "Sales Order Reference"
+msgstr ""
+
+#: build/models.py:169
+msgid "SalesOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:174
+msgid "Source Location"
+msgstr ""
+
+#: build/models.py:178
+msgid ""
+"Select location to take stock from for this build (leave blank to take from "
+"any stock location)"
+msgstr ""
+
+#: build/models.py:183
+msgid "Destination Location"
+msgstr ""
+
+#: build/models.py:187
+msgid "Select location where the completed items will be stored"
+msgstr ""
+
+#: build/models.py:191
+msgid "Build Quantity"
+msgstr ""
+
+#: build/models.py:194
+msgid "Number of stock items to build"
+msgstr ""
+
+#: build/models.py:198
+msgid "Completed items"
+msgstr ""
+
+#: build/models.py:200
+msgid "Number of stock items which have been completed"
+msgstr ""
+
+#: build/models.py:204 part/templates/part/part_base.html:160
+msgid "Build Status"
+msgstr ""
+
+#: build/models.py:208
+msgid "Build status code"
+msgstr ""
+
+#: build/models.py:212 stock/models.py:432
+msgid "Batch Code"
+msgstr ""
+
+#: build/models.py:216
+msgid "Batch code for this build output"
+msgstr ""
+
+#: build/models.py:219 order/models.py:105 part/models.py:882
+#: part/templates/part/detail.html:126 templates/js/order.js:293
+msgid "Creation Date"
+msgstr ""
+
+#: build/models.py:223 order/models.py:451
+msgid "Target completion date"
+msgstr ""
+
+#: build/models.py:227 order/models.py:218 templates/js/build.js:788
+msgid "Completion Date"
+msgstr ""
+
+#: build/models.py:233
+msgid "completed by"
+msgstr ""
+
+#: build/models.py:241
+msgid "Issued by"
+msgstr ""
+
+#: build/models.py:242
+msgid "User who issued this build order"
+msgstr ""
+
+#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/templates/build/detail.html:105 order/models.py:119
+#: order/templates/order/order_base.html:138
+#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: report/templates/report/inventree_build_order_base.html:159
+msgid "Responsible"
+msgstr ""
+
+#: build/models.py:251
+msgid "User responsible for this build order"
+msgstr ""
+
+#: build/models.py:256 build/templates/build/detail.html:91
+#: company/templates/company/manufacturer_part_base.html:79
+#: company/templates/company/manufacturer_part_detail.html:28
+#: company/templates/company/supplier_part_base.html:78
+#: company/templates/company/supplier_part_detail.html:28
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
+#: stock/models.py:426 stock/templates/stock/item_base.html:334
+msgid "External Link"
+msgstr ""
+
+#: build/models.py:257 part/models.py:744 stock/models.py:428
+msgid "Link to external URL"
+msgstr ""
+
+#: build/models.py:261 build/templates/build/navbar.html:53
+#: company/models.py:135 company/models.py:501
+#: company/templates/company/navbar.html:70
+#: company/templates/company/navbar.html:73 order/models.py:123
+#: order/models.py:597 order/templates/order/po_navbar.html:29
+#: order/templates/order/po_navbar.html:32
+#: order/templates/order/purchase_order_detail.html:234
+#: order/templates/order/sales_order_detail.html:264
+#: order/templates/order/so_navbar.html:33
+#: order/templates/order/so_navbar.html:36 part/models.py:871
+#: part/templates/part/navbar.html:128
+#: report/templates/report/inventree_build_order_base.html:173
+#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
+#: stock/models.py:498 stock/models.py:1558 stock/models.py:1668
+#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
+#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+msgid "Notes"
+msgstr ""
+
+#: build/models.py:262
+msgid "Extra build notes"
+msgstr ""
+
+#: build/models.py:739
+msgid "No build output specified"
+msgstr ""
+
+#: build/models.py:742
+msgid "Build output is already completed"
+msgstr ""
+
+#: build/models.py:745
+msgid "Build output does not match Build Order"
+msgstr ""
+
+#: build/models.py:838
+msgid "Completed build output"
+msgstr ""
+
+#: build/models.py:1118
+msgid "BuildItem must be unique for build, stock_item and install_into"
+msgstr ""
+
+#: build/models.py:1143
+msgid ""
+"Build item must specify a build output, as master part is marked as trackable"
+msgstr ""
+
+#: build/models.py:1147
+#, python-brace-format
+msgid "Selected stock item not found in BOM for part '{p}'"
+msgstr ""
+
+#: build/models.py:1151
+#, python-brace-format
+msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
+msgstr ""
+
+#: build/models.py:1158 order/models.py:758
+msgid "StockItem is over-allocated"
+msgstr ""
+
+#: build/models.py:1162 order/models.py:761
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1166
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1206 stock/templates/stock/item_base.html:306
+#: templates/InvenTree/search.html:183 templates/js/build.js:714
+#: templates/navbar.html:29
+msgid "Build"
+msgstr ""
+
+#: build/models.py:1207
+msgid "Build to allocate parts"
+msgstr ""
+
+#: build/models.py:1214 part/templates/part/allocation.html:18
+#: part/templates/part/allocation.html:24
+#: part/templates/part/allocation.html:31
+#: part/templates/part/allocation.html:49
+#: stock/templates/stock/item_base.html:8
+#: stock/templates/stock/item_base.html:93
+#: stock/templates/stock/item_base.html:328
+#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
+#: templates/js/stock.js:1004 templates/js/stock.js:1262
+msgid "Stock Item"
+msgstr ""
+
+#: build/models.py:1215
+msgid "Source stock item"
+msgstr ""
+
+#: build/models.py:1228
+msgid "Stock quantity to allocate to build"
+msgstr ""
+
+#: build/models.py:1236
+msgid "Install into"
+msgstr ""
+
+#: build/models.py:1237
+msgid "Destination stock item"
+msgstr ""
+
+#: build/templates/build/allocate.html:7
+msgid "Allocate Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:15
+msgid "Allocate Stock to Build"
+msgstr ""
+
+#: build/templates/build/allocate.html:22
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/allocate.html:23
+msgid "Auto Allocate"
+msgstr ""
+
+#: build/templates/build/allocate.html:25 templates/js/build.js:646
+msgid "Unallocate stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794
+msgid "Unallocate Stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:29
+msgid "Order required parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:30
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32 order/views.py:794
+#: part/templates/part/category.html:127
+msgid "Order Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:36
+msgid "Untracked stock has been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:40
+msgid "Untracked stock has not been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:47
+msgid "This Build Order does not have any associated untracked BOM items"
+msgstr ""
+
+#: build/templates/build/allocation_card.html:21
+#: build/templates/build/complete_output.html:46
+#: order/templates/order/sales_order_detail.html:75
+#: order/templates/order/sales_order_detail.html:157
+#: report/templates/report/inventree_test_report_base.html:75
+#: stock/models.py:420 stock/templates/stock/item_base.html:238
+#: templates/js/build.js:474
+msgid "Serial Number"
+msgstr ""
+
+#: build/templates/build/attachments.html:12
+#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
+#: order/templates/order/po_navbar.html:26
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
+#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: stock/templates/stock/navbar.html:50
+msgid "Attachments"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:9
+msgid "Automatically Allocate Stock"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:10
+msgid ""
+"The following stock items will be allocated to the specified build output"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:37
+msgid "No stock items found that can be automatically allocated to this build"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:39
+msgid "Stock items will have to be manually allocated"
+msgstr ""
+
+#: build/templates/build/build_base.html:16
+#, python-format
+msgid "This Build Order is allocated to Sales Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:22
+#, python-format
+msgid "This Build Order is a child of Build Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:31
+msgid "Build Order is ready to mark as completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:36
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr ""
+
+#: build/templates/build/build_base.html:41
+msgid "Required build quantity has not yet been completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:46
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:65
+#: company/templates/company/company_base.html:40
+#: company/templates/company/manufacturer_part_base.html:25
+#: company/templates/company/supplier_part_base.html:26
+#: order/templates/order/order_base.html:26
+#: order/templates/order/sales_order_base.html:35
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
+#: stock/templates/stock/item_base.html:118
+#: stock/templates/stock/location.html:31
+msgid "Admin view"
+msgstr ""
+
+#: build/templates/build/build_base.html:71
+#: build/templates/build/build_base.html:140
+#: order/templates/order/order_base.html:32
+#: order/templates/order/order_base.html:86
+#: order/templates/order/sales_order_base.html:41
+#: order/templates/order/sales_order_base.html:86
+#: templates/js/table_filters.js:240 templates/js/table_filters.js:259
+#: templates/js/table_filters.js:276
+msgid "Overdue"
+msgstr ""
+
+#: build/templates/build/build_base.html:80
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:84
+msgid "Print Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:90
+#: build/templates/build/build_base.html:215
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:95
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:99
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:101
+#: build/templates/build/build_base.html:199 build/views.py:57
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:114
+#: build/templates/build/detail.html:11
+msgid "Build Details"
+msgstr ""
+
+#: build/templates/build/build_base.html:140
+#, python-format
+msgid "This build was due on %(target)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:147
+#: build/templates/build/detail.html:64
+msgid "Progress"
+msgstr ""
+
+#: build/templates/build/build_base.html:160
+#: build/templates/build/detail.html:84 order/models.py:667
+#: order/templates/order/sales_order_base.html:9
+#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_ship.html:25
+#: part/templates/part/allocation.html:30
+#: report/templates/report/inventree_build_order_base.html:136
+#: report/templates/report/inventree_so_report.html:77
+#: stock/templates/stock/item_base.html:268 templates/js/order.js:245
+msgid "Sales Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:167
+#: build/templates/build/detail.html:98
+#: report/templates/report/inventree_build_order_base.html:153
+msgid "Issued By"
+msgstr ""
+
+#: build/templates/build/build_base.html:207
+msgid "Incomplete Outputs"
+msgstr ""
+
+#: build/templates/build/build_base.html:208
+msgid "Build Order cannot be completed as incomplete build outputs remain"
+msgstr ""
+
+#: build/templates/build/build_children.html:10
+#: build/templates/build/navbar.html:36
+msgid "Child Build Orders"
+msgstr ""
+
+#: build/templates/build/build_output.html:15
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output.html:22
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:23
+msgid "Create New Output"
+msgstr ""
+
+#: build/templates/build/build_output.html:36
+msgid "Create a new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:37
+msgid "No incomplete build outputs remain."
+msgstr ""
+
+#: build/templates/build/build_output.html:38
+msgid "Create a new build output using the button above"
+msgstr ""
+
+#: build/templates/build/build_output.html:49
+msgid "Completed Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:7
+msgid "The Bill of Materials contains trackable parts"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:8
+msgid "Build outputs must be generated individually."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:9
+msgid "Multiple build outputs will be created based on the quantity specified."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:15
+msgid "Trackable parts can have serial numbers specified"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:16
+msgid "Enter serial numbers to generate multiple single build outputs"
+msgstr ""
+
+#: build/templates/build/cancel.html:5
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: build/templates/build/complete.html:8
+msgid "Build Order is complete"
+msgstr ""
+
+#: build/templates/build/complete.html:12
+msgid "Build Order is incomplete"
+msgstr ""
+
+#: build/templates/build/complete.html:15
+msgid "Incompleted build outputs remain"
+msgstr ""
+
+#: build/templates/build/complete.html:18
+msgid "Required build quantity has not been completed"
+msgstr ""
+
+#: build/templates/build/complete.html:21
+msgid "Required stock has not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:10
+msgid "Stock allocation is complete for this output"
+msgstr ""
+
+#: build/templates/build/complete_output.html:14
+msgid "Stock allocation is incomplete"
+msgstr ""
+
+#: build/templates/build/complete_output.html:20
+msgid "tracked parts have not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:41
+msgid "The following items will be created"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:7
+msgid "Select a stock item to allocate to the selected build output"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:11
+#, python-format
+msgid ""
+"The allocated stock will be installed into the following build output:
"
+"%(output)s"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:17
+#, python-format
+msgid "No stock available for %(part)s"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:8
+msgid "Are you sure you want to unallocate this stock?"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:11
+msgid "The selected stock will be unallocated from the build output"
+msgstr ""
+
+#: build/templates/build/detail.html:35
+msgid "Stock Source"
+msgstr ""
+
+#: build/templates/build/detail.html:40
+msgid "Stock can be taken from any available location."
+msgstr ""
+
+#: build/templates/build/detail.html:46 stock/forms.py:169 stock/forms.py:375
+msgid "Destination"
+msgstr ""
+
+#: build/templates/build/detail.html:53
+msgid "Destination location not specified"
+msgstr ""
+
+#: build/templates/build/detail.html:70
+#: stock/templates/stock/item_base.html:292 templates/js/stock.js:636
+#: templates/js/stock.js:1286 templates/js/table_filters.js:107
+#: templates/js/table_filters.js:201
+msgid "Batch"
+msgstr ""
+
+#: build/templates/build/detail.html:116
+#: order/templates/order/order_base.html:111
+#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+msgid "Created"
+msgstr ""
+
+#: build/templates/build/detail.html:127
+msgid "No target date set"
+msgstr ""
+
+#: build/templates/build/detail.html:132 templates/js/build.js:756
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/detail.html:136
+msgid "Build not complete"
+msgstr ""
+
+#: build/templates/build/edit_build_item.html:7
+msgid "Alter the quantity of stock allocated to the build output"
+msgstr ""
+
+#: build/templates/build/index.html:28 build/views.py:667
+msgid "New Build Order"
+msgstr ""
+
+#: build/templates/build/index.html:37 build/templates/build/index.html:38
+msgid "Print Build Orders"
+msgstr ""
+
+#: build/templates/build/index.html:43
+#: order/templates/order/purchase_orders.html:27
+#: order/templates/order/sales_orders.html:27
+msgid "Display calendar view"
+msgstr ""
+
+#: build/templates/build/index.html:46
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:30
+msgid "Display list view"
+msgstr ""
+
+#: build/templates/build/navbar.html:12
+msgid "Build Order Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:15
+#: company/templates/company/navbar.html:15
+#: order/templates/order/po_navbar.html:14
+#: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15
+msgid "Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24
+#: build/views.py:91
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32
+msgid "Build Outputs"
+msgstr ""
+
+#: build/templates/build/navbar.html:39
+msgid "Child Builds"
+msgstr ""
+
+#: build/templates/build/navbar.html:50
+msgid "Build Order Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:12
+msgid "Build Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:14 company/templates/company/notes.html:13
+#: order/templates/order/order_notes.html:15
+#: order/templates/order/sales_order_notes.html:16
+#: part/templates/part/notes.html:14 stock/templates/stock/item_notes.html:15
+msgid "Edit notes"
+msgstr ""
+
+#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
+#: order/templates/order/order_notes.html:27
+#: order/templates/order/sales_order_notes.html:29
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:470
+#: stock/templates/stock/item_notes.html:26
+msgid "Save"
+msgstr ""
+
+#: build/templates/build/unallocate.html:10
+msgid "Are you sure you wish to unallocate all stock for this build?"
+msgstr ""
+
+#: build/templates/build/unallocate.html:12
+msgid "All incomplete stock allocations will be removed from the build"
+msgstr ""
+
+#: build/views.py:77
+msgid "Build was cancelled"
+msgstr ""
+
+#: build/views.py:138
+msgid "Allocated stock to build output"
+msgstr ""
+
+#: build/views.py:150
+msgid "Create Build Output"
+msgstr ""
+
+#: build/views.py:173 stock/models.py:969 stock/views.py:1789
+msgid "Serial numbers already exist"
+msgstr ""
+
+#: build/views.py:182
+msgid "Serial numbers required for trackable build output"
+msgstr ""
+
+#: build/views.py:248
+msgid "Delete Build Output"
+msgstr ""
+
+#: build/views.py:269 build/views.py:359
+msgid "Confirm unallocation of build stock"
+msgstr ""
+
+#: build/views.py:270 build/views.py:360 stock/views.py:425
+msgid "Check the confirmation box"
+msgstr ""
+
+#: build/views.py:282
+msgid "Build output does not match build"
+msgstr ""
+
+#: build/views.py:284 build/views.py:485
+msgid "Build output must be specified"
+msgstr ""
+
+#: build/views.py:296
+msgid "Build output deleted"
+msgstr ""
+
+#: build/views.py:394
+msgid "Complete Build Order"
+msgstr ""
+
+#: build/views.py:400
+msgid "Build order cannot be completed - incomplete outputs remain"
+msgstr ""
+
+#: build/views.py:411
+msgid "Completed build order"
+msgstr ""
+
+#: build/views.py:427
+msgid "Complete Build Output"
+msgstr ""
+
+#: build/views.py:469
+msgid "Invalid stock status value selected"
+msgstr ""
+
+#: build/views.py:476
+msgid "Quantity to complete cannot exceed build output quantity"
+msgstr ""
+
+#: build/views.py:482
+msgid "Confirm completion of incomplete build"
+msgstr ""
+
+#: build/views.py:581
+msgid "Build output completed"
+msgstr ""
+
+#: build/views.py:721
+msgid "Created new build"
+msgstr ""
+
+#: build/views.py:742
+msgid "Edit Build Order Details"
+msgstr ""
+
+#: build/views.py:775
+msgid "Edited build"
+msgstr ""
+
+#: build/views.py:784
+msgid "Delete Build Order"
+msgstr ""
+
+#: build/views.py:799
+msgid "Removed parts from build allocation"
+msgstr ""
+
+#: build/views.py:811
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: build/views.py:854
+msgid "Item must be currently in stock"
+msgstr ""
+
+#: build/views.py:860
+msgid "Stock item is over-allocated"
+msgstr ""
+
+#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575
+#: templates/js/build.js:838 templates/js/build.js:1021
+msgid "Available"
+msgstr ""
+
+#: build/views.py:863
+msgid "Stock item must be selected"
+msgstr ""
+
+#: build/views.py:1026
+msgid "Edit Stock Allocation"
+msgstr ""
+
+#: build/views.py:1030
+msgid "Updated Build Item"
+msgstr ""
+
+#: build/views.py:1059
+msgid "Add Build Order Attachment"
+msgstr ""
+
+#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172
+#: stock/views.py:277
+msgid "Added attachment"
+msgstr ""
+
+#: build/views.py:1108 order/views.py:189 order/views.py:210
+msgid "Edit Attachment"
+msgstr ""
+
+#: build/views.py:1118 order/views.py:193 order/views.py:214
+msgid "Attachment updated"
+msgstr ""
+
+#: build/views.py:1128 order/views.py:229 order/views.py:243
+msgid "Delete Attachment"
+msgstr ""
+
+#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333
+msgid "Deleted attachment"
+msgstr ""
+
+#: common/models.py:56
+msgid "InvenTree Instance Name"
+msgstr ""
+
+#: common/models.py:58
+msgid "String descriptor for the server instance"
+msgstr ""
+
+#: common/models.py:62
+msgid "Use instance name"
+msgstr ""
+
+#: common/models.py:63
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:69 company/models.py:97 company/models.py:98
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:70
+msgid "Internal company name"
+msgstr ""
+
+#: common/models.py:75
+msgid "Base URL"
+msgstr ""
+
+#: common/models.py:76
+msgid "Base URL for server instance"
+msgstr ""
+
+#: common/models.py:82
+msgid "Default Currency"
+msgstr ""
+
+#: common/models.py:83
+msgid "Default currency"
+msgstr ""
+
+#: common/models.py:89
+msgid "Download from URL"
+msgstr ""
+
+#: common/models.py:90
+msgid "Allow download of remote images and files from external URL"
+msgstr ""
+
+#: common/models.py:96
+msgid "Barcode Support"
+msgstr ""
+
+#: common/models.py:97
+msgid "Enable barcode scanner support"
+msgstr ""
+
+#: common/models.py:103
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:104
+msgid "Regular expression pattern for matching Part IPN"
+msgstr ""
+
+#: common/models.py:108
+msgid "Allow Duplicate IPN"
+msgstr ""
+
+#: common/models.py:109
+msgid "Allow multiple parts to share the same IPN"
+msgstr ""
+
+#: common/models.py:115
+msgid "Allow Editing IPN"
+msgstr ""
+
+#: common/models.py:116
+msgid "Allow changing the IPN value while editing a part"
+msgstr ""
+
+#: common/models.py:122
+msgid "Copy Part BOM Data"
+msgstr ""
+
+#: common/models.py:123
+msgid "Copy BOM data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:129
+msgid "Copy Part Parameter Data"
+msgstr ""
+
+#: common/models.py:130
+msgid "Copy parameter data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:136
+msgid "Copy Part Test Data"
+msgstr ""
+
+#: common/models.py:137
+msgid "Copy test data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:143
+msgid "Copy Category Parameter Templates"
+msgstr ""
+
+#: common/models.py:144
+msgid "Copy category parameter templates when creating a part"
+msgstr ""
+
+#: common/models.py:150
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:151
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:157 part/models.py:2079 part/templates/part/detail.html:160
+#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:24
+#: templates/js/table_filters.js:310
+msgid "Template"
+msgstr ""
+
+#: common/models.py:158
+msgid "Parts are templates by default"
+msgstr ""
+
+#: common/models.py:164 part/models.py:834 part/templates/part/detail.html:170
+#: templates/js/table_filters.js:123 templates/js/table_filters.js:322
+msgid "Assembly"
+msgstr ""
+
+#: common/models.py:165
+msgid "Parts can be assembled from other components by default"
+msgstr ""
+
+#: common/models.py:171 part/models.py:840 part/templates/part/detail.html:180
+#: templates/js/table_filters.js:326
+msgid "Component"
+msgstr ""
+
+#: common/models.py:172
+msgid "Parts can be used as sub-components by default"
+msgstr ""
+
+#: common/models.py:178 part/models.py:851 part/templates/part/detail.html:200
+msgid "Purchaseable"
+msgstr ""
+
+#: common/models.py:179
+msgid "Parts are purchaseable by default"
+msgstr ""
+
+#: common/models.py:185 part/models.py:856 part/templates/part/detail.html:210
+#: templates/js/table_filters.js:334
+msgid "Salable"
+msgstr ""
+
+#: common/models.py:186
+msgid "Parts are salable by default"
+msgstr ""
+
+#: common/models.py:192 part/models.py:846 part/templates/part/detail.html:190
+#: templates/js/table_filters.js:32 templates/js/table_filters.js:338
+msgid "Trackable"
+msgstr ""
+
+#: common/models.py:193
+msgid "Parts are trackable by default"
+msgstr ""
+
+#: common/models.py:199 part/models.py:866 part/templates/part/detail.html:150
+#: templates/js/table_filters.js:28
+msgid "Virtual"
+msgstr ""
+
+#: common/models.py:200
+msgid "Parts are virtual by default"
+msgstr ""
+
+#: common/models.py:206
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:207
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:213
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:214
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:220
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:221
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:231
+msgid "Test Reports"
+msgstr ""
+
+#: common/models.py:232
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:238
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:239
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:245
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:246
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:252
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:253
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:255 part/templates/part/detail.html:121
+msgid "days"
+msgstr ""
+
+#: common/models.py:260
+msgid "Build Expired Stock"
+msgstr ""
+
+#: common/models.py:261
+msgid "Allow building with expired stock"
+msgstr ""
+
+#: common/models.py:267
+msgid "Stock Ownership Control"
+msgstr ""
+
+#: common/models.py:268
+msgid "Enable ownership control over stock locations and items"
+msgstr ""
+
+#: common/models.py:274
+msgid "Group by Part"
+msgstr ""
+
+#: common/models.py:275
+msgid "Group stock items by part reference in table views"
+msgstr ""
+
+#: common/models.py:281
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:282
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:288
+msgid "Build Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:289
+msgid "Prefix value for build order reference"
+msgstr ""
+
+#: common/models.py:294
+msgid "Build Order Reference Regex"
+msgstr ""
+
+#: common/models.py:295
+msgid "Regular expression pattern for matching build order reference"
+msgstr ""
+
+#: common/models.py:299
+msgid "Sales Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:300
+msgid "Prefix value for sales order reference"
+msgstr ""
+
+#: common/models.py:305
+msgid "Purchase Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:306
+msgid "Prefix value for purchase order reference"
+msgstr ""
+
+#: common/models.py:529
+msgid "Settings key (must be unique - case insensitive"
+msgstr ""
+
+#: common/models.py:531
+msgid "Settings value"
+msgstr ""
+
+#: common/models.py:566
+msgid "Must be an integer value"
+msgstr ""
+
+#: common/models.py:589
+msgid "Value must be a boolean value"
+msgstr ""
+
+#: common/models.py:600
+msgid "Value must be an integer value"
+msgstr ""
+
+#: common/models.py:623
+msgid "Key string must be unique"
+msgstr ""
+
+#: common/models.py:704 company/forms.py:177
+msgid "Price break quantity"
+msgstr ""
+
+#: common/models.py:712 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+msgid "Price"
+msgstr ""
+
+#: common/models.py:713
+msgid "Unit price at specified quantity"
+msgstr ""
+
+#: common/models.py:736
+msgid "Default"
+msgstr ""
+
+#: common/templates/common/edit_setting.html:11
+msgid "Current value"
+msgstr ""
+
+#: common/views.py:25
+msgid "Change Setting"
+msgstr ""
+
+#: common/views.py:94
+msgid "Supplied value is not allowed"
+msgstr ""
+
+#: common/views.py:103
+msgid "Supplied value must be a boolean"
+msgstr ""
+
+#: company/forms.py:38 company/models.py:145
+#: company/templates/company/detail.html:42
+msgid "Currency"
+msgstr ""
+
+#: company/forms.py:39 company/models.py:147
+msgid "Default currency used for this company"
+msgstr ""
+
+#: company/forms.py:77 part/forms.py:46
+msgid "URL"
+msgstr ""
+
+#: company/forms.py:78 part/forms.py:47
+msgid "Image URL"
+msgstr ""
+
+#: company/forms.py:118
+msgid "Single Price"
+msgstr ""
+
+#: company/forms.py:120
+msgid "Single quantity price"
+msgstr ""
+
+#: company/forms.py:128 company/models.py:324
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/forms.py:134 company/models.py:331
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/forms.py:136 company/models.py:330
+#: company/templates/company/manufacturer_part_base.html:89
+#: company/templates/company/manufacturer_part_detail.html:26
+#: company/templates/company/supplier_part_base.html:101
+#: company/templates/company/supplier_part_detail.html:35
+#: order/templates/order/purchase_order_detail.html:183 part/bom.py:171
+#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:102
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:103
+msgid "Description of the company"
+msgstr ""
+
+#: company/models.py:107 company/templates/company/company_base.html:70
+#: company/templates/company/detail.html:33 templates/js/company.js:60
+msgid "Website"
+msgstr ""
+
+#: company/models.py:107
+msgid "Company website URL"
+msgstr ""
+
+#: company/models.py:110 company/templates/company/company_base.html:77
+msgid "Address"
+msgstr ""
+
+#: company/models.py:111
+msgid "Company address"
+msgstr ""
+
+#: company/models.py:114
+msgid "Phone number"
+msgstr ""
+
+#: company/models.py:115
+msgid "Contact phone number"
+msgstr ""
+
+#: company/models.py:118 company/templates/company/company_base.html:91
+msgid "Email"
+msgstr ""
+
+#: company/models.py:118
+msgid "Contact email address"
+msgstr ""
+
+#: company/models.py:121 company/templates/company/company_base.html:98
+msgid "Contact"
+msgstr ""
+
+#: company/models.py:122
+msgid "Point of contact"
+msgstr ""
+
+#: company/models.py:124 company/models.py:336 company/models.py:488
+#: order/models.py:103 part/models.py:743
+#: report/templates/report/inventree_build_order_base.html:165
+#: stock/models.py:1560 templates/js/company.js:188 templates/js/company.js:318
+#: templates/js/part.js:431
+msgid "Link"
+msgstr ""
+
+#: company/models.py:124
+msgid "Link to external company information"
+msgstr ""
+
+#: company/models.py:132 part/models.py:753
+msgid "Image"
+msgstr ""
+
+#: company/models.py:137
+msgid "is customer"
+msgstr ""
+
+#: company/models.py:137
+msgid "Do you sell items to this company?"
+msgstr ""
+
+#: company/models.py:139
+msgid "is supplier"
+msgstr ""
+
+#: company/models.py:139
+msgid "Do you purchase items from this company?"
+msgstr ""
+
+#: company/models.py:141
+msgid "is manufacturer"
+msgstr ""
+
+#: company/models.py:141
+msgid "Does this company manufacture parts?"
+msgstr ""
+
+#: company/models.py:308 company/models.py:459 stock/models.py:373
+#: stock/templates/stock/item_base.html:224
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:312 company/models.py:463 order/views.py:1372
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:323 company/templates/company/detail.html:57
+#: company/templates/company/manufacturer_part_base.html:85
+#: company/templates/company/manufacturer_part_detail.html:25
+#: company/templates/company/supplier_part_base.html:94
+#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
+#: part/bom.py:241 stock/templates/stock/item_base.html:341
+#: templates/js/company.js:44 templates/js/company.js:165
+#: templates/js/company.js:289
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:337
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:343
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:469 company/templates/company/detail.html:62
+#: company/templates/company/supplier_part_base.html:84
+#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
+#: order/templates/order/order_base.html:92
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
+#: part/bom.py:286 stock/templates/stock/item_base.html:353
+#: templates/js/company.js:48 templates/js/company.js:263
+#: templates/js/order.js:170
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:470
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:475 company/templates/company/supplier_part_base.html:88
+#: company/templates/company/supplier_part_detail.html:26
+#: order/templates/order/purchase_order_detail.html:174 part/bom.py:176
+#: part/bom.py:287
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:476
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:482
+#: company/templates/company/manufacturer_part_base.html:6
+#: company/templates/company/manufacturer_part_base.html:19
+#: stock/templates/stock/item_base.html:346
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:483
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:489
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:495
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:500 company/templates/company/supplier_part_base.html:115
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2190
+#: report/templates/report/inventree_po_report.html:93
+#: report/templates/report/inventree_so_report.html:93
+msgid "Note"
+msgstr ""
+
+#: company/models.py:504
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:504
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:506 company/templates/company/supplier_part_base.html:108
+#: stock/models.py:397 stock/templates/stock/item_base.html:299
+#: templates/js/stock.js:667
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:506
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:508
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:508
+msgid "Order multiple"
+msgstr ""
+
+#: company/templates/company/assigned_stock.html:10
+#: company/templates/company/navbar.html:62
+#: company/templates/company/navbar.html:65 templates/js/build.js:467
+msgid "Assigned Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:9
+#: company/templates/company/company_base.html:35
+#: templates/InvenTree/search.html:304 templates/js/company.js:33
+msgid "Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:25
+#: part/templates/part/part_thumb.html:21
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
+#: part/templates/part/part_thumb.html:23
+msgid "Download image from URL"
+msgstr ""
+
+#: company/templates/company/company_base.html:46 order/views.py:306
+msgid "Create Purchase Order"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+msgid "Edit company information"
+msgstr ""
+
+#: company/templates/company/company_base.html:56 company/views.py:326
+msgid "Delete Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:64
+#: company/templates/company/detail.html:10
+#: company/templates/company/navbar.html:12
+msgid "Company Details"
+msgstr ""
+
+#: company/templates/company/company_base.html:84
+msgid "Phone"
+msgstr ""
+
+#: company/templates/company/delete.html:7
+#, python-format
+msgid "Are you sure you want to delete company '%(name)s'?"
+msgstr ""
+
+#: company/templates/company/delete.html:12
+#, python-format
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
+"If this supplier is deleted, these supplier part entries will also be "
+"deleted."
+msgstr ""
+
+#: company/templates/company/detail.html:21
+msgid "Company Name"
+msgstr ""
+
+#: company/templates/company/detail.html:36
+msgid "No website specified"
+msgstr ""
+
+#: company/templates/company/detail.html:45
+msgid "Uses default currency"
+msgstr ""
+
+#: company/templates/company/detail.html:67 order/models.py:440
+#: order/templates/order/sales_order_base.html:92 stock/models.py:415
+#: stock/models.py:416 stock/templates/stock/item_base.html:251
+#: templates/js/company.js:40 templates/js/order.js:267
+msgid "Customer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:11
+#: templates/InvenTree/search.html:149
+msgid "Manufacturer Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:22
+msgid "Create new manufacturer part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:23
+#: part/templates/part/manufacturer.html:19
+msgid "New Manufacturer Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:28
+#: company/templates/company/detail_supplier_part.html:27
+#: company/templates/company/manufacturer_part_suppliers.html:20
+#: part/templates/part/category.html:122
+#: part/templates/part/manufacturer.html:22
+#: part/templates/part/supplier.html:20
+msgid "Options"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32
+#: part/templates/part/category.html:127
+msgid "Order parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:66
+#: company/templates/company/detail_supplier_part.html:66
+#: part/templates/part/bom.html:159 part/templates/part/category.html:118
+#: templates/js/stock.js:1157
+msgid "New Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:67
+#: company/templates/company/detail_supplier_part.html:67
+msgid "Create new Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:72
+#: company/views.py:71 part/templates/part/manufacturer.html:52
+#: part/templates/part/supplier.html:56
+msgid "New Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:73
+#: company/views.py:284
+msgid "Create new Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:10
+msgid "Supplier Stock"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:37
+#: company/templates/company/supplier_part_stock.html:34
+#: part/templates/part/category.html:114 part/templates/part/category.html:128
+#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163
+msgid "Export"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:11
+#: company/templates/company/manufacturer_part_navbar.html:11
+#: company/templates/company/manufacturer_part_suppliers.html:10
+#: templates/InvenTree/search.html:164
+msgid "Supplier Parts"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:21
+#: order/templates/order/order_wizard/select_parts.html:42
+#: order/templates/order/purchase_order_detail.html:75
+msgid "Create new supplier part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:22
+#: company/templates/company/manufacturer_part_suppliers.html:17
+#: order/templates/order/purchase_order_detail.html:74
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1163
+msgid "New Supplier Part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:72
+#: company/templates/company/manufacturer_part_suppliers.html:47
+#: company/views.py:64 order/templates/order/purchase_orders.html:183
+#: part/templates/part/supplier.html:50
+msgid "New Supplier"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:73 company/views.py:281
+#: order/templates/order/purchase_orders.html:184
+msgid "Create new Supplier"
+msgstr ""
+
+#: company/templates/company/index.html:8
+msgid "Supplier List"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:36
+#: company/templates/company/supplier_part_base.html:36
+#: company/templates/company/supplier_part_orders.html:17
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+msgid "Order part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:41
+msgid "Edit manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:45
+msgid "Delete manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:57
+#: company/templates/company/manufacturer_part_detail.html:10
+msgid "Manufacturer Part Details"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:62
+#: company/templates/company/manufacturer_part_detail.html:18
+#: company/templates/company/supplier_part_base.html:61
+#: company/templates/company/supplier_part_detail.html:18
+msgid "Internal Part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:6
+msgid "Are you sure you want to delete the following Manufacturer Parts?"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:36
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this manufacturer part. If you "
+"delete it, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:14
+#: company/views.py:63 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: templates/navbar.html:35
+msgid "Suppliers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:19
+msgid "Manufacturer Part Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:22
+#: company/templates/company/navbar.html:41
+#: company/templates/company/supplier_part_navbar.html:15
+#: part/templates/part/navbar.html:36 stock/api.py:51
+#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
+#: templates/InvenTree/search.html:232
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:26
+msgid "Manufacturer Part Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:29
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/supplier.html:22
+msgid "Delete supplier parts"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44
+#: part/templates/part/related.html:44 part/templates/part/supplier.html:22
+#: stock/views.py:1002 users/models.py:184
+msgid "Delete"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:48
+#: part/templates/part/supplier.html:51
+msgid "Create new supplier"
+msgstr ""
+
+#: company/templates/company/navbar.html:20
+#: company/templates/company/navbar.html:23
+msgid "Manufactured Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:29
+#: company/templates/company/navbar.html:32
+msgid "Supplied Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:33
+#: stock/templates/stock/location.html:107
+#: stock/templates/stock/location.html:122
+#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location_navbar.html:22
+#: stock/templates/stock/location_navbar.html:29
+#: templates/InvenTree/search.html:198 templates/js/stock.js:968
+#: templates/stats.html:72 templates/stats.html:81 users/models.py:40
+msgid "Stock Items"
+msgstr ""
+
+#: company/templates/company/navbar.html:47
+#: company/templates/company/navbar.html:56
+#: company/templates/company/navbar.html:59
+#: company/templates/company/sales_orders.html:11
+#: order/templates/order/sales_orders.html:8
+#: order/templates/order/sales_orders.html:13
+#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
+#: templates/InvenTree/search.html:345
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: users/models.py:43
+msgid "Sales Orders"
+msgstr ""
+
+#: company/templates/company/navbar.html:50
+#: company/templates/company/purchase_orders.html:10
+#: order/templates/order/purchase_orders.html:8
+#: order/templates/order/purchase_orders.html:13
+#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
+#: templates/InvenTree/search.html:325
+#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: users/models.py:42
+msgid "Purchase Orders"
+msgstr ""
+
+#: company/templates/company/notes.html:11
+msgid "Company Notes"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:18
+#: order/templates/order/purchase_orders.html:20
+msgid "Create new purchase order"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:19
+#: order/templates/order/purchase_orders.html:21
+msgid "New Purchase Order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:19
+#: order/templates/order/sales_orders.html:20
+msgid "Create new sales order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:20
+#: order/templates/order/sales_orders.html:21
+msgid "New Sales Order"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:7
+#: company/templates/company/supplier_part_base.html:20 stock/models.py:382
+#: stock/templates/stock/item_base.html:358 templates/js/company.js:279
+msgid "Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:40
+msgid "Edit supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:44
+msgid "Delete supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:56
+#: company/templates/company/supplier_part_detail.html:10
+msgid "Supplier Part Details"
+msgstr ""
+
+#: company/templates/company/supplier_part_delete.html:5
+msgid "Are you sure you want to delete the following Supplier Parts?"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:12
+#: company/templates/company/supplier_part_stock.html:10
+msgid "Supplier Part Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:19
+#: company/templates/company/supplier_part_orders.html:10
+msgid "Supplier Part Orders"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:26
+msgid "Supplier Part Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:29
+msgid "Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_orders.html:18
+#: part/templates/part/orders.html:18
+msgid "Order Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:11
+msgid "Pricing Information"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
+#: part/templates/part/sale_prices.html:17 part/views.py:2624
+msgid "Add Price Break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:38
+#: part/templates/part/sale_prices.html:46
+msgid "No price break information found"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:89
+#: part/templates/part/sale_prices.html:97
+msgid "Edit price break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:90
+#: part/templates/part/sale_prices.html:98
+msgid "Delete price break"
+msgstr ""
+
+#: company/views.py:70 part/templates/part/navbar.html:72
+#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: templates/navbar.html:36
+msgid "Manufacturers"
+msgstr ""
+
+#: company/views.py:77 templates/InvenTree/search.html:336
+#: templates/navbar.html:45
+msgid "Customers"
+msgstr ""
+
+#: company/views.py:78 order/templates/order/sales_orders.html:185
+msgid "New Customer"
+msgstr ""
+
+#: company/views.py:86
+msgid "Companies"
+msgstr ""
+
+#: company/views.py:87
+msgid "New Company"
+msgstr ""
+
+#: company/views.py:169 part/views.py:848
+msgid "Download Image"
+msgstr ""
+
+#: company/views.py:198 part/views.py:880
+msgid "Image size exceeds maximum allowable size for download"
+msgstr ""
+
+#: company/views.py:214 part/views.py:896
+msgid "Supplied URL is not a valid image file"
+msgstr ""
+
+#: company/views.py:243
+msgid "Update Company Image"
+msgstr ""
+
+#: company/views.py:249
+msgid "Updated company image"
+msgstr ""
+
+#: company/views.py:259
+msgid "Edit Company"
+msgstr ""
+
+#: company/views.py:264
+msgid "Edited company information"
+msgstr ""
+
+#: company/views.py:287 order/templates/order/sales_orders.html:186
+msgid "Create new Customer"
+msgstr ""
+
+#: company/views.py:289
+msgid "Create new Company"
+msgstr ""
+
+#: company/views.py:316
+msgid "Created new company"
+msgstr ""
+
+#: company/views.py:332
+msgid "Company was deleted"
+msgstr ""
+
+#: company/views.py:357
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: company/views.py:366
+msgid "Create New Manufacturer Part"
+msgstr ""
+
+#: company/views.py:440
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: company/views.py:528
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: company/views.py:578 templates/js/stock.js:1164
+msgid "Create new Supplier Part"
+msgstr ""
+
+#: company/views.py:722
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: company/views.py:799 part/views.py:2628
+msgid "Added new price break"
+msgstr ""
+
+#: company/views.py:855 part/views.py:2672
+msgid "Edit Price Break"
+msgstr ""
+
+#: company/views.py:870 part/views.py:2686
+msgid "Delete Price Break"
+msgstr ""
+
+#: label/api.py:56 report/api.py:201
+msgid "No valid objects provided to template"
+msgstr ""
+
+#: label/models.py:102
+msgid "Label name"
+msgstr ""
+
+#: label/models.py:109
+msgid "Label description"
+msgstr ""
+
+#: label/models.py:116 stock/forms.py:202
+msgid "Label"
+msgstr ""
+
+#: label/models.py:117
+msgid "Label template file"
+msgstr ""
+
+#: label/models.py:123 report/models.py:274
+msgid "Enabled"
+msgstr ""
+
+#: label/models.py:124
+msgid "Label template is enabled"
+msgstr ""
+
+#: label/models.py:129
+msgid "Width [mm]"
+msgstr ""
+
+#: label/models.py:130
+msgid "Label width, specified in mm"
+msgstr ""
+
+#: label/models.py:136
+msgid "Height [mm]"
+msgstr ""
+
+#: label/models.py:137
+msgid "Label height, specified in mm"
+msgstr ""
+
+#: label/models.py:222 label/models.py:275
+msgid "Query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: label/models.py:223 label/models.py:276 report/models.py:294
+#: report/models.py:415 report/models.py:449
+msgid "Filters"
+msgstr ""
+
+#: order/forms.py:27 order/templates/order/order_base.html:47
+msgid "Place order"
+msgstr ""
+
+#: order/forms.py:38 order/templates/order/order_base.html:54
+msgid "Mark order as complete"
+msgstr ""
+
+#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
+#: order/templates/order/sales_order_base.html:59
+msgid "Cancel order"
+msgstr ""
+
+#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+msgid "Ship order"
+msgstr ""
+
+#: order/forms.py:82
+msgid "Receive parts to this location"
+msgstr ""
+
+#: order/forms.py:103
+msgid "Purchase Order reference"
+msgstr ""
+
+#: order/forms.py:110
+msgid "Target date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:138
+msgid "Enter sales order number"
+msgstr ""
+
+#: order/forms.py:145 order/models.py:452
+msgid ""
+"Target date for order completion. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:235
+msgid "Enter stock item serial numbers"
+msgstr ""
+
+#: order/forms.py:241
+msgid "Enter quantity of stock items"
+msgstr ""
+
+#: order/models.py:99
+msgid "Order reference"
+msgstr ""
+
+#: order/models.py:101
+msgid "Order description"
+msgstr ""
+
+#: order/models.py:103
+msgid "Link to external page"
+msgstr ""
+
+#: order/models.py:111 part/templates/part/detail.html:132
+msgid "Created By"
+msgstr ""
+
+#: order/models.py:118
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:123
+msgid "Order notes"
+msgstr ""
+
+#: order/models.py:182 order/models.py:445
+msgid "Purchase order status"
+msgstr ""
+
+#: order/models.py:191
+msgid "Company from which the items are being ordered"
+msgstr ""
+
+#: order/models.py:194 order/templates/order/order_base.html:98
+#: templates/js/order.js:179
+msgid "Supplier Reference"
+msgstr ""
+
+#: order/models.py:194
+msgid "Supplier order reference code"
+msgstr ""
+
+#: order/models.py:201
+msgid "received by"
+msgstr ""
+
+#: order/models.py:206
+msgid "Issue Date"
+msgstr ""
+
+#: order/models.py:207
+msgid "Date order was issued"
+msgstr ""
+
+#: order/models.py:212
+msgid "Target Delivery Date"
+msgstr ""
+
+#: order/models.py:213
+msgid ""
+"Expected date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/models.py:219
+msgid "Date order was completed"
+msgstr ""
+
+#: order/models.py:243 order/models.py:342 part/views.py:1586
+#: stock/models.py:270 stock/models.py:953
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:248
+msgid "Part supplier must match PO supplier"
+msgstr ""
+
+#: order/models.py:337
+msgid "Lines can only be received against an order marked as 'Placed'"
+msgstr ""
+
+#: order/models.py:359
+msgid "Received items"
+msgstr ""
+
+#: order/models.py:441
+msgid "Company to which the items are being sold"
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer Reference "
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer order reference code"
+msgstr ""
+
+#: order/models.py:455 templates/js/order.js:303
+msgid "Shipment Date"
+msgstr ""
+
+#: order/models.py:462
+msgid "shipped by"
+msgstr ""
+
+#: order/models.py:506
+msgid "SalesOrder cannot be shipped as it is not currently pending"
+msgstr ""
+
+#: order/models.py:593
+msgid "Item quantity"
+msgstr ""
+
+#: order/models.py:595
+msgid "Line item reference"
+msgstr ""
+
+#: order/models.py:597
+msgid "Line item notes"
+msgstr ""
+
+#: order/models.py:623 order/models.py:667
+#: part/templates/part/allocation.html:17
+#: part/templates/part/allocation.html:45
+msgid "Order"
+msgstr ""
+
+#: order/models.py:624 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:24
+#: report/templates/report/inventree_po_report.html:77
+#: stock/templates/stock/item_base.html:313 templates/js/order.js:148
+msgid "Purchase Order"
+msgstr ""
+
+#: order/models.py:638
+msgid "Supplier part"
+msgstr ""
+
+#: order/models.py:641 order/templates/order/order_base.html:131
+#: order/templates/order/purchase_order_detail.html:214
+#: order/templates/order/receive_parts.html:22
+#: order/templates/order/sales_order_base.html:131
+msgid "Received"
+msgstr ""
+
+#: order/models.py:641
+msgid "Number of items received"
+msgstr ""
+
+#: order/models.py:648 stock/models.py:508
+#: stock/templates/stock/item_base.html:320
+msgid "Purchase Price"
+msgstr ""
+
+#: order/models.py:649
+msgid "Unit purchase price"
+msgstr ""
+
+#: order/models.py:743 order/models.py:745
+msgid "Stock item has not been assigned"
+msgstr ""
+
+#: order/models.py:749
+msgid "Cannot allocate stock item to a line with a different part"
+msgstr ""
+
+#: order/models.py:751
+msgid "Cannot allocate stock to a line without a part"
+msgstr ""
+
+#: order/models.py:754
+msgid "Allocation quantity cannot exceed stock quantity"
+msgstr ""
+
+#: order/models.py:764
+msgid "Quantity must be 1 for serialized stock item"
+msgstr ""
+
+#: order/models.py:769
+msgid "Line"
+msgstr ""
+
+#: order/models.py:780
+msgid "Item"
+msgstr ""
+
+#: order/models.py:781
+msgid "Select stock item to allocate"
+msgstr ""
+
+#: order/models.py:784
+msgid "Enter stock allocation quantity"
+msgstr ""
+
+#: order/templates/order/delete_attachment.html:5
+#: stock/templates/stock/attachment_delete.html:5
+#: templates/attachment_delete.html:5
+msgid "Are you sure you want to delete this attachment?"
+msgstr ""
+
+#: order/templates/order/order_base.html:39
+#: order/templates/order/sales_order_base.html:48
+msgid "Print"
+msgstr ""
+
+#: order/templates/order/order_base.html:43
+#: order/templates/order/sales_order_base.html:52
+msgid "Edit order information"
+msgstr ""
+
+#: order/templates/order/order_base.html:51
+msgid "Receive items"
+msgstr ""
+
+#: order/templates/order/order_base.html:64
+msgid "Export order to file"
+msgstr ""
+
+#: order/templates/order/order_base.html:72
+#: order/templates/order/po_navbar.html:11
+msgid "Purchase Order Details"
+msgstr ""
+
+#: order/templates/order/order_base.html:77
+#: order/templates/order/sales_order_base.html:77
+msgid "Order Reference"
+msgstr ""
+
+#: order/templates/order/order_base.html:82
+#: order/templates/order/sales_order_base.html:82
+msgid "Order Status"
+msgstr ""
+
+#: order/templates/order/order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:122
+msgid "Issued"
+msgstr ""
+
+#: order/templates/order/order_cancel.html:7
+#: order/templates/order/sales_order_cancel.html:9
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_complete.html:7
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: order/templates/order/order_complete.html:10
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: order/templates/order/order_complete.html:11
+msgid "Marking this order as complete will remove these line items."
+msgstr ""
+
+#: order/templates/order/order_issue.html:7
+msgid ""
+"After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_notes.html:13
+msgid "Order Notes"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:9
+msgid "Step 1 of 2 - Select Part Suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:14
+msgid "Select suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:18
+msgid "No purchaseable parts selected"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:31
+msgid "Select Supplier"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:57
+#, python-format
+msgid "Select a supplier for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:69
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:8
+msgid "Step 2 of 2 - Select Purchase Orders"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:12
+msgid "Select existing purchase orders, or create new orders."
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:31
+#: templates/js/order.js:205 templates/js/order.js:308
+msgid "Items"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:32
+msgid "Select Purchase Order"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:45
+#, python-format
+msgid "Create new purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:68
+#, python-format
+msgid "Select a purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/po_attachments.html:12
+#: order/templates/order/po_navbar.html:23
+msgid "Purchase Order Attachments"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:17
+msgid "Received Stock Items"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:20
+#: order/templates/order/po_received_items.html:12
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:14
+msgid "Purchase Order Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:22 order/views.py:1108
+#: order/views.py:1191
+msgid "Add Line Item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:45
+#: order/templates/order/purchase_order_detail.html:125
+#: part/templates/part/category.html:185 part/templates/part/category.html:227
+#: stock/templates/stock/location.html:191 templates/js/stock.js:708
+#: templates/js/stock.js:1169
+msgid "New Location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:46
+#: order/templates/order/purchase_order_detail.html:126
+#: stock/templates/stock/location.html:42
+msgid "Create new stock location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:139
+msgid "No line items found"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:205
+msgid "Unit Price"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:246
+#: order/templates/order/sales_order_detail.html:294
+msgid "Edit line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:247
+msgid "Delete line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:252
+msgid "Receive line item"
+msgstr ""
+
+#: order/templates/order/purchase_orders.html:24
+#: order/templates/order/sales_orders.html:24
+msgid "Print Order Reports"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:8
+#, python-format
+msgid "Receive outstanding parts for %(order)s - %(desc)s"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: part/models.py:322 part/templates/part/cat_link.html:7
+#: part/templates/part/category.html:99
+#: part/templates/part/category_navbar.html:22
+#: part/templates/part/category_navbar.html:29
+#: part/templates/part/category_partlist.html:10
+#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
+#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/navbar.html:23 templates/stats.html:59 templates/stats.html:68
+#: users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:15
+msgid "Select parts to receive against this order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:20
+msgid "Order Code"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:21
+#: part/templates/part/part_base.html:129 templates/js/part.js:414
+msgid "On Order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:23
+msgid "Receive"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:36
+msgid "Error: Referenced part has been removed"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:57
+msgid "Remove line"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:15
+msgid "This SalesOrder has not been fully allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:64
+msgid "Packing List"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/so_navbar.html:12
+msgid "Sales Order Details"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+msgid "Customer Reference"
+msgstr ""
+
+#: order/templates/order/sales_order_cancel.html:8
+#: order/templates/order/sales_order_ship.html:9
+#: part/templates/part/bom_duplicate.html:12
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:13
+msgid "Sales Order Items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342
+#: templates/js/build.js:627 templates/js/build.js:1044
+msgid "Actions"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515
+#: templates/js/build.js:849
+msgid "Edit stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517
+#: templates/js/build.js:850
+msgid "Delete stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:170
+msgid "No matching line items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:199
+msgid "ID"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579
+#: templates/js/build.js:845
+msgid "Allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:231
+msgid "Fulfilled"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:279
+msgid "Allocate serial numbers"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641
+msgid "Allocate stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:285
+msgid "Purchase stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634
+#: templates/js/build.js:1052
+msgid "Build stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:295
+msgid "Delete line item "
+msgstr ""
+
+#: order/templates/order/sales_order_notes.html:14
+msgid "Sales Order Notes"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:10
+msgid ""
+"This order has not been fully allocated. If the order is marked as shipped, "
+"it can no longer be adjusted."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:12
+msgid "Ensure that the order allocation is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:18
+msgid "Some line items in this order have been over-allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:20
+msgid "Ensure that this is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:27
+msgid "Shipping this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/so_allocate_by_serial.html:9
+msgid "Allocate stock items by serial number"
+msgstr ""
+
+#: order/templates/order/so_allocation_delete.html:7
+msgid "This action will unallocate the following stock from the Sales Order"
+msgstr ""
+
+#: order/templates/order/so_attachments.html:12
+#: order/templates/order/so_navbar.html:26
+msgid "Sales Order Attachments"
+msgstr ""
+
+#: order/templates/order/so_lineitem_delete.html:5
+msgid "Are you sure you wish to delete this line item?"
+msgstr ""
+
+#: order/views.py:99
+msgid "Add Purchase Order Attachment"
+msgstr ""
+
+#: order/views.py:149
+msgid "Add Sales Order Attachment"
+msgstr ""
+
+#: order/views.py:341
+msgid "Create Sales Order"
+msgstr ""
+
+#: order/views.py:376
+msgid "Edit Purchase Order"
+msgstr ""
+
+#: order/views.py:396
+msgid "Edit Sales Order"
+msgstr ""
+
+#: order/views.py:412
+msgid "Cancel Order"
+msgstr ""
+
+#: order/views.py:421 order/views.py:447
+msgid "Confirm order cancellation"
+msgstr ""
+
+#: order/views.py:424 order/views.py:450
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/views.py:438
+msgid "Cancel sales order"
+msgstr ""
+
+#: order/views.py:464
+msgid "Issue Order"
+msgstr ""
+
+#: order/views.py:473
+msgid "Confirm order placement"
+msgstr ""
+
+#: order/views.py:483
+msgid "Purchase order issued"
+msgstr ""
+
+#: order/views.py:494
+msgid "Complete Order"
+msgstr ""
+
+#: order/views.py:510
+msgid "Confirm order completion"
+msgstr ""
+
+#: order/views.py:521
+msgid "Purchase order completed"
+msgstr ""
+
+#: order/views.py:531
+msgid "Ship Order"
+msgstr ""
+
+#: order/views.py:547
+msgid "Confirm order shipment"
+msgstr ""
+
+#: order/views.py:553
+msgid "Could not ship order"
+msgstr ""
+
+#: order/views.py:607
+msgid "Receive Parts"
+msgstr ""
+
+#: order/views.py:677
+msgid "Items received"
+msgstr ""
+
+#: order/views.py:691
+msgid "No destination set"
+msgstr ""
+
+#: order/views.py:736
+msgid "Error converting quantity to number"
+msgstr ""
+
+#: order/views.py:742
+msgid "Receive quantity less than zero"
+msgstr ""
+
+#: order/views.py:748
+msgid "No lines specified"
+msgstr ""
+
+#: order/views.py:1060
+#, python-brace-format
+msgid "Ordered {n} parts"
+msgstr ""
+
+#: order/views.py:1117
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/views.py:1123
+msgid "Supplier must match for Part and Order"
+msgstr ""
+
+#: order/views.py:1242 order/views.py:1260
+msgid "Edit Line Item"
+msgstr ""
+
+#: order/views.py:1276 order/views.py:1288
+msgid "Delete Line Item"
+msgstr ""
+
+#: order/views.py:1281 order/views.py:1293
+msgid "Deleted line item"
+msgstr ""
+
+#: order/views.py:1306
+msgid "Allocate Serial Numbers"
+msgstr ""
+
+#: order/views.py:1351
+#, python-brace-format
+msgid "Allocated {n} items"
+msgstr ""
+
+#: order/views.py:1367
+msgid "Select line item"
+msgstr ""
+
+#: order/views.py:1398
+msgid "No matching item for serial"
+msgstr ""
+
+#: order/views.py:1408
+msgid "is not in stock"
+msgstr ""
+
+#: order/views.py:1416
+msgid "already allocated to an order"
+msgstr ""
+
+#: order/views.py:1470
+msgid "Allocate Stock to Order"
+msgstr ""
+
+#: order/views.py:1544
+msgid "Edit Allocation Quantity"
+msgstr ""
+
+#: order/views.py:1559
+msgid "Remove allocation"
+msgstr ""
+
+#: part/bom.py:138 part/models.py:72 part/models.py:762
+#: part/templates/part/category.html:66 part/templates/part/detail.html:90
+msgid "Default Location"
+msgstr ""
+
+#: part/bom.py:139 part/templates/part/part_base.html:117
+msgid "Available Stock"
+msgstr ""
+
+#: part/bom.py:379
+#, python-brace-format
+msgid "Unsupported file format: {f}"
+msgstr ""
+
+#: part/bom.py:384
+msgid "Error reading BOM file (invalid data)"
+msgstr ""
+
+#: part/bom.py:386
+msgid "Error reading BOM file (incorrect row size)"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "File Format"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "Select output file format"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Cascading"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Download cascading / multi-level BOM"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Levels"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Select maximum number of BOM levels to export (0 = all levels)"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include Parameter Data"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include part parameters data in exported BOM"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include Stock Data"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include part stock data in exported BOM"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include Manufacturer Data"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include part manufacturer data in exported BOM"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include Supplier Data"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include part supplier data in exported BOM"
+msgstr ""
+
+#: part/forms.py:122 part/models.py:2077
+msgid "Parent Part"
+msgstr ""
+
+#: part/forms.py:123 part/templates/part/bom_duplicate.html:7
+msgid "Select parent part to copy BOM from"
+msgstr ""
+
+#: part/forms.py:129
+msgid "Clear existing BOM items"
+msgstr ""
+
+#: part/forms.py:135
+msgid "Confirm BOM duplication"
+msgstr ""
+
+#: part/forms.py:153
+msgid "validate"
+msgstr ""
+
+#: part/forms.py:153
+msgid "Confirm that the BOM is correct"
+msgstr ""
+
+#: part/forms.py:165
+msgid "BOM file"
+msgstr ""
+
+#: part/forms.py:165
+msgid "Select BOM file to upload"
+msgstr ""
+
+#: part/forms.py:184
+msgid "Related Part"
+msgstr ""
+
+#: part/forms.py:203
+msgid "Select part category"
+msgstr ""
+
+#: part/forms.py:220
+msgid "Duplicate all BOM data for this part"
+msgstr ""
+
+#: part/forms.py:221
+msgid "Copy BOM"
+msgstr ""
+
+#: part/forms.py:226
+msgid "Duplicate all parameter data for this part"
+msgstr ""
+
+#: part/forms.py:227
+msgid "Copy Parameters"
+msgstr ""
+
+#: part/forms.py:232
+msgid "Confirm part creation"
+msgstr ""
+
+#: part/forms.py:237
+msgid "Include category parameter templates"
+msgstr ""
+
+#: part/forms.py:242
+msgid "Include parent categories parameter templates"
+msgstr ""
+
+#: part/forms.py:322
+msgid "Add parameter template to same level categories"
+msgstr ""
+
+#: part/forms.py:326
+msgid "Add parameter template to all categories"
+msgstr ""
+
+#: part/forms.py:344 part/models.py:2171
+msgid "Sub part"
+msgstr ""
+
+#: part/forms.py:372
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:73
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:82 part/models.py:2123
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr ""
+
+#: part/models.py:83 part/templates/part/category.html:23
+#: part/templates/part/category.html:94 part/templates/part/category.html:141
+#: templates/InvenTree/search.html:127 templates/stats.html:63
+#: users/models.py:37
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:446 part/models.py:458
+#, python-brace-format
+msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
+msgstr ""
+
+#: part/models.py:555
+msgid "Next available serial numbers are"
+msgstr ""
+
+#: part/models.py:559
+msgid "Next available serial number is"
+msgstr ""
+
+#: part/models.py:564
+msgid "Most recent serial number is"
+msgstr ""
+
+#: part/models.py:643
+msgid "Duplicate IPN not allowed in part settings"
+msgstr ""
+
+#: part/models.py:654
+msgid "Part must be unique for name, IPN and revision"
+msgstr ""
+
+#: part/models.py:685 part/templates/part/detail.html:22
+msgid "Part name"
+msgstr ""
+
+#: part/models.py:692
+msgid "Is Template"
+msgstr ""
+
+#: part/models.py:693
+msgid "Is this part a template part?"
+msgstr ""
+
+#: part/models.py:704
+msgid "Is this part a variant of another part?"
+msgstr ""
+
+#: part/models.py:705 part/templates/part/detail.html:60
+msgid "Variant Of"
+msgstr ""
+
+#: part/models.py:711
+msgid "Part description"
+msgstr ""
+
+#: part/models.py:716 part/templates/part/category.html:73
+#: part/templates/part/detail.html:67
+msgid "Keywords"
+msgstr ""
+
+#: part/models.py:717
+msgid "Part keywords to improve visibility in search results"
+msgstr ""
+
+#: part/models.py:724 part/models.py:2122 part/templates/part/detail.html:73
+#: part/templates/part/set_category.html:15 templates/js/part.js:385
+msgid "Category"
+msgstr ""
+
+#: part/models.py:725
+msgid "Part category"
+msgstr ""
+
+#: part/models.py:730 part/templates/part/detail.html:28
+#: part/templates/part/part_base.html:94 templates/js/part.js:161
+msgid "IPN"
+msgstr ""
+
+#: part/models.py:731
+msgid "Internal Part Number"
+msgstr ""
+
+#: part/models.py:737
+msgid "Part revision or version number"
+msgstr ""
+
+#: part/models.py:738 part/templates/part/detail.html:35 report/models.py:198
+#: templates/js/part.js:165
+msgid "Revision"
+msgstr ""
+
+#: part/models.py:760
+msgid "Where is this item normally stored?"
+msgstr ""
+
+#: part/models.py:807 part/templates/part/detail.html:97
+msgid "Default Supplier"
+msgstr ""
+
+#: part/models.py:808
+msgid "Default supplier part"
+msgstr ""
+
+#: part/models.py:815
+msgid "Default Expiry"
+msgstr ""
+
+#: part/models.py:816
+msgid "Expiry time (in days) for stock items of this part"
+msgstr ""
+
+#: part/models.py:821 part/templates/part/detail.html:113
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/models.py:822
+msgid "Minimum allowed stock level"
+msgstr ""
+
+#: part/models.py:828 part/models.py:2051 part/templates/part/detail.html:106
+#: part/templates/part/params.html:29
+msgid "Units"
+msgstr ""
+
+#: part/models.py:829
+msgid "Stock keeping units for this part"
+msgstr ""
+
+#: part/models.py:835
+msgid "Can this part be built from other parts?"
+msgstr ""
+
+#: part/models.py:841
+msgid "Can this part be used to build other parts?"
+msgstr ""
+
+#: part/models.py:847
+msgid "Does this part have tracking for unique items?"
+msgstr ""
+
+#: part/models.py:852
+msgid "Can this part be purchased from external suppliers?"
+msgstr ""
+
+#: part/models.py:857
+msgid "Can this part be sold to customers?"
+msgstr ""
+
+#: part/models.py:861 part/templates/part/detail.html:227
+#: templates/js/table_filters.js:20 templates/js/table_filters.js:60
+#: templates/js/table_filters.js:236 templates/js/table_filters.js:305
+msgid "Active"
+msgstr ""
+
+#: part/models.py:862
+msgid "Is this part active?"
+msgstr ""
+
+#: part/models.py:867
+msgid "Is this a virtual part, such as a software product or license?"
+msgstr ""
+
+#: part/models.py:872
+msgid "Part notes - supports Markdown formatting"
+msgstr ""
+
+#: part/models.py:875
+msgid "BOM checksum"
+msgstr ""
+
+#: part/models.py:875
+msgid "Stored BOM checksum"
+msgstr ""
+
+#: part/models.py:878
+msgid "BOM checked by"
+msgstr ""
+
+#: part/models.py:880
+msgid "BOM checked date"
+msgstr ""
+
+#: part/models.py:884
+msgid "Creation User"
+msgstr ""
+
+#: part/models.py:1949
+msgid "Test templates can only be created for trackable parts"
+msgstr ""
+
+#: part/models.py:1966
+msgid "Test with this name already exists for this part"
+msgstr ""
+
+#: part/models.py:1986 templates/js/part.js:638 templates/js/stock.js:104
+msgid "Test Name"
+msgstr ""
+
+#: part/models.py:1987
+msgid "Enter a name for the test"
+msgstr ""
+
+#: part/models.py:1992
+msgid "Test Description"
+msgstr ""
+
+#: part/models.py:1993
+msgid "Enter description for this test"
+msgstr ""
+
+#: part/models.py:1998 templates/js/part.js:647
+#: templates/js/table_filters.js:222
+msgid "Required"
+msgstr ""
+
+#: part/models.py:1999
+msgid "Is this test required to pass?"
+msgstr ""
+
+#: part/models.py:2004 templates/js/part.js:655
+msgid "Requires Value"
+msgstr ""
+
+#: part/models.py:2005
+msgid "Does this test require a value when adding a test result?"
+msgstr ""
+
+#: part/models.py:2010 templates/js/part.js:662
+msgid "Requires Attachment"
+msgstr ""
+
+#: part/models.py:2011
+msgid "Does this test require a file attachment when adding a test result?"
+msgstr ""
+
+#: part/models.py:2044
+msgid "Parameter template name must be unique"
+msgstr ""
+
+#: part/models.py:2049
+msgid "Parameter Name"
+msgstr ""
+
+#: part/models.py:2051
+msgid "Parameter Units"
+msgstr ""
+
+#: part/models.py:2079 part/models.py:2128 part/models.py:2129
+#: templates/InvenTree/settings/category.html:62
+msgid "Parameter Template"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Data"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Parameter Value"
+msgstr ""
+
+#: part/models.py:2133 templates/InvenTree/settings/category.html:67
+msgid "Default Value"
+msgstr ""
+
+#: part/models.py:2134
+msgid "Default Parameter Value"
+msgstr ""
+
+#: part/models.py:2163
+msgid "Select parent part"
+msgstr ""
+
+#: part/models.py:2172
+msgid "Select part to be used in BOM"
+msgstr ""
+
+#: part/models.py:2178
+msgid "BOM quantity for this BOM item"
+msgstr ""
+
+#: part/models.py:2180 templates/js/bom.js:216 templates/js/bom.js:269
+msgid "Optional"
+msgstr ""
+
+#: part/models.py:2180
+msgid "This BOM item is optional"
+msgstr ""
+
+#: part/models.py:2183
+msgid "Overage"
+msgstr ""
+
+#: part/models.py:2184
+msgid "Estimated build wastage quantity (absolute or percentage)"
+msgstr ""
+
+#: part/models.py:2187
+msgid "BOM item reference"
+msgstr ""
+
+#: part/models.py:2190
+msgid "BOM item notes"
+msgstr ""
+
+#: part/models.py:2192
+msgid "Checksum"
+msgstr ""
+
+#: part/models.py:2192
+msgid "BOM line checksum"
+msgstr ""
+
+#: part/models.py:2196 templates/js/bom.js:279 templates/js/bom.js:286
+#: templates/js/table_filters.js:50
+msgid "Inherited"
+msgstr ""
+
+#: part/models.py:2197
+msgid "This BOM item is inherited by BOMs for variant parts"
+msgstr ""
+
+#: part/models.py:2273 part/views.py:1592 part/views.py:1644
+#: stock/models.py:260
+msgid "Quantity must be integer value for trackable parts"
+msgstr ""
+
+#: part/models.py:2282 part/models.py:2284
+msgid "Sub part must be specified"
+msgstr ""
+
+#: part/models.py:2287
+msgid "BOM Item"
+msgstr ""
+
+#: part/models.py:2404
+msgid "Part 1"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Part 2"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Select Related Part"
+msgstr ""
+
+#: part/models.py:2440
+msgid ""
+"Error creating relationship: check that the part is not related to itself "
+"and that the relationship is unique"
+msgstr ""
+
+#: part/templates/part/allocation.html:11
+msgid "Part Stock Allocations"
+msgstr ""
+
+#: part/templates/part/attachments.html:10
+msgid "Part Attachments"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:6
+msgid "Are you sure you want to delete this BOM item?"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:8
+msgid "Deleting this entry will remove the BOM row from the following part"
+msgstr ""
+
+#: part/templates/part/bom.html:10 part/templates/part/navbar.html:48
+#: part/templates/part/navbar.html:51
+msgid "Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:19
+#, python-format
+msgid "The BOM for %(part)s has changed, and must be validated.
"
+msgstr ""
+
+#: part/templates/part/bom.html:21
+#, python-format
+msgid ""
+"The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
+msgstr ""
+
+#: part/templates/part/bom.html:25
+#, python-format
+msgid "The BOM for %(part)s has not been validated."
+msgstr ""
+
+#: part/templates/part/bom.html:32
+msgid "Remove selected BOM items"
+msgstr ""
+
+#: part/templates/part/bom.html:35
+msgid "Import BOM data"
+msgstr ""
+
+#: part/templates/part/bom.html:39
+msgid "Copy BOM from parent part"
+msgstr ""
+
+#: part/templates/part/bom.html:43
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/bom.html:46
+msgid "Finish Editing"
+msgstr ""
+
+#: part/templates/part/bom.html:51
+msgid "Edit BOM"
+msgstr ""
+
+#: part/templates/part/bom.html:55
+msgid "Validate Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:61 part/views.py:1887
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:64
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/bom.html:109
+msgid "Delete selected BOM items?"
+msgstr ""
+
+#: part/templates/part/bom.html:110
+msgid "All selected BOM items will be deleted"
+msgstr ""
+
+#: part/templates/part/bom.html:160 part/views.py:584
+#: templates/js/stock.js:1158
+msgid "Create New Part"
+msgstr ""
+
+#: part/templates/part/bom_duplicate.html:13
+msgid "This part already has a Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:11
+#: part/templates/part/bom_upload/select_parts.html:11
+#: part/templates/part/bom_upload/upload_file.html:11
+msgid "Upload Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:16
+msgid "Step 2 - Select Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:21
+msgid "Missing selections for the following required columns"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:32
+msgid "Submit Selections"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:41
+msgid "File Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:47
+msgid "Remove column"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:58
+msgid "Match Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:68
+msgid "Duplicate column selection"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:76
+#: part/templates/part/bom_upload/select_parts.html:58
+msgid "Remove row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:16
+msgid "Step 3 - Select Parts"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:21
+msgid "Errors exist in the submitted data"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:27
+msgid "Submit BOM"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:39
+msgid "Row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:40
+#: part/templates/part/bom_upload/select_parts.html:69
+msgid "Select Part"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:65
+#: part/templates/part/category.html:117
+msgid "Create new part"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:16
+msgid "Step 1 - Select BOM File"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:19
+msgid "Requirements for BOM upload"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid ""
+"The BOM file must contain the required named columns as provided in the "
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid "BOM Upload Template"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:22
+msgid "Each part must already exist in the database"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:27
+msgid "Upload File"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:6
+#, python-format
+msgid ""
+"Confirm that the Bill of Materials (BOM) is valid for:
%(part)s"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:9
+msgid "This will validate each line in the BOM."
+msgstr ""
+
+#: part/templates/part/build.html:10
+msgid "Part Builds"
+msgstr ""
+
+#: part/templates/part/build.html:18
+msgid "Start New Build"
+msgstr ""
+
+#: part/templates/part/category.html:24
+msgid "All parts"
+msgstr ""
+
+#: part/templates/part/category.html:29 part/views.py:2270
+msgid "Create new part category"
+msgstr ""
+
+#: part/templates/part/category.html:35
+msgid "Edit part category"
+msgstr ""
+
+#: part/templates/part/category.html:40
+msgid "Delete part category"
+msgstr ""
+
+#: part/templates/part/category.html:50 part/templates/part/category.html:89
+msgid "Category Details"
+msgstr ""
+
+#: part/templates/part/category.html:55
+msgid "Category Path"
+msgstr ""
+
+#: part/templates/part/category.html:60
+msgid "Category Description"
+msgstr ""
+
+#: part/templates/part/category.html:79
+#: part/templates/part/category_navbar.html:11
+#: part/templates/part/category_navbar.html:18
+#: part/templates/part/subcategory.html:16
+msgid "Subcategories"
+msgstr ""
+
+#: part/templates/part/category.html:84
+msgid "Parts (Including subcategories)"
+msgstr ""
+
+#: part/templates/part/category.html:113
+msgid "Export Part Data"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set category"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set Category"
+msgstr ""
+
+#: part/templates/part/category.html:128
+msgid "Export Data"
+msgstr ""
+
+#: part/templates/part/category.html:186
+#: stock/templates/stock/location.html:192 templates/js/stock.js:709
+msgid "Create new location"
+msgstr ""
+
+#: part/templates/part/category.html:191 part/templates/part/category.html:221
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:192
+msgid "Create new category"
+msgstr ""
+
+#: part/templates/part/category.html:222
+msgid "Create new Part Category"
+msgstr ""
+
+#: part/templates/part/category.html:228 stock/views.py:1359
+msgid "Create new Stock Location"
+msgstr ""
+
+#: part/templates/part/category_delete.html:5
+msgid "Are you sure you want to delete category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:8
+#, python-format
+msgid "This category contains %(count)s child categories"
+msgstr ""
+
+#: part/templates/part/category_delete.html:9
+msgid ""
+"If this category is deleted, these child categories will be moved to the"
+msgstr ""
+
+#: part/templates/part/category_delete.html:11
+msgid "category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:13
+msgid "top level Parts category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:25
+#, python-format
+msgid "This category contains %(count)s parts"
+msgstr ""
+
+#: part/templates/part/category_delete.html:27
+#, python-format
+msgid ""
+"If this category is deleted, these parts will be moved to the parent "
+"category %(path)s"
+msgstr ""
+
+#: part/templates/part/category_delete.html:29
+msgid ""
+"If this category is deleted, these parts will be moved to the top-level "
+"category Teile"
+msgstr ""
+
+#: part/templates/part/category_navbar.html:34
+#: part/templates/part/category_navbar.html:37
+#: part/templates/part/navbar.html:22
+msgid "Parameters"
+msgstr ""
+
+#: part/templates/part/category_parametric.html:10
+#: part/templates/part/navbar.html:19 part/templates/part/params.html:10
+msgid "Part Parameters"
+msgstr ""
+
+#: part/templates/part/copy_part.html:9 part/views.py:460
+msgid "Duplicate Part"
+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 - %(desc)s (%(match_per)s%% match)"
+msgstr ""
+
+#: part/templates/part/detail.html:11 part/templates/part/navbar.html:11
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:42
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:47
+msgid "No serial numbers recorded"
+msgstr ""
+
+#: part/templates/part/detail.html:120
+msgid "Stock Expiry Time"
+msgstr ""
+
+#: part/templates/part/detail.html:139
+msgid "Responsible User"
+msgstr ""
+
+#: part/templates/part/detail.html:153
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/detail.html:155
+msgid "Part is not a virtual part"
+msgstr ""
+
+#: part/templates/part/detail.html:163
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/detail.html:165
+msgid "Part is not a template part"
+msgstr ""
+
+#: part/templates/part/detail.html:173
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:175
+msgid "Part cannot be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:183
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:185
+msgid "Part cannot be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:193
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:195
+msgid "Part stock is not tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:203 part/templates/part/detail.html:205
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/detail.html:213
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:215
+msgid "Part cannot be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:230
+msgid "Part is active"
+msgstr ""
+
+#: part/templates/part/detail.html:232
+msgid "Part is not active"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:11
+msgid "Part Manufacturers"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:24
+msgid "Delete manufacturer parts"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:53
+#: part/templates/part/supplier.html:57
+msgid "Create new manufacturer"
+msgstr ""
+
+#: part/templates/part/navbar.html:26 part/templates/part/variants.html:11
+msgid "Part Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:29
+msgid "Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:40
+msgid "Allocated Stock"
+msgstr ""
+
+#: part/templates/part/navbar.html:43
+msgid "Allocations"
+msgstr ""
+
+#: part/templates/part/navbar.html:64 part/templates/part/navbar.html:67
+msgid "Used In"
+msgstr ""
+
+#: part/templates/part/navbar.html:92
+msgid "Sales Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:95
+msgid "Sale Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+msgid "Part Test Templates"
+msgstr ""
+
+#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:398
+msgid "Tests"
+msgstr ""
+
+#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/related.html:10
+msgid "Related Parts"
+msgstr ""
+
+#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+msgid "Part Notes"
+msgstr ""
+
+#: part/templates/part/params.html:17
+msgid "Add new parameter"
+msgstr ""
+
+#: part/templates/part/params.html:18
+#: templates/InvenTree/settings/category.html:29
+#: templates/InvenTree/settings/part.html:44
+msgid "New Parameter"
+msgstr ""
+
+#: part/templates/part/params.html:28
+#: report/templates/report/inventree_test_report_base.html:90
+#: stock/models.py:1655 templates/InvenTree/settings/header.html:8
+#: templates/js/stock.js:124
+msgid "Value"
+msgstr ""
+
+#: part/templates/part/params.html:41 templates/InvenTree/settings/user.html:19
+msgid "Edit"
+msgstr ""
+
+#: part/templates/part/params.html:68
+msgid "New Template"
+msgstr ""
+
+#: part/templates/part/params.html:69
+msgid "Create New Parameter Template"
+msgstr ""
+
+#: part/templates/part/part_app_base.html:12
+msgid "Part List"
+msgstr ""
+
+#: part/templates/part/part_base.html:18
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:40
+msgid "Star this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:47
+#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/location.html:51
+msgid "Barcode actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:49
+#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+msgid "Show QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:50
+#: stock/templates/stock/item_base.html:149
+#: stock/templates/stock/location.html:54
+msgid "Print Label"
+msgstr ""
+
+#: part/templates/part/part_base.html:55
+msgid "Show pricing information"
+msgstr ""
+
+#: part/templates/part/part_base.html:59
+msgid "Count part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:74
+msgid "Part actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:77
+msgid "Duplicate part"
+msgstr ""
+
+#: part/templates/part/part_base.html:80
+msgid "Edit part"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
+msgid "Delete part"
+msgstr ""
+
+#: part/templates/part/part_base.html:123 templates/js/table_filters.js:156
+msgid "In Stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+msgid "Required for Build Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:143
+msgid "Required for Sales Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:150
+msgid "Allocated to Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+msgid "Can Build"
+msgstr ""
+
+#: part/templates/part/part_base.html:171 templates/js/part.js:418
+msgid "Building"
+msgstr ""
+
+#: part/templates/part/part_base.html:250
+msgid "Calculate"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:8
+#, python-format
+msgid "Pricing information for:
%(part)s."
+msgstr ""
+
+#: part/templates/part/part_pricing.html:23
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:27
+#: part/templates/part/part_pricing.html:53
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:33
+#: part/templates/part/part_pricing.html:59
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:41
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:49
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:67
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:74
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:84
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/part_tests.html:17
+msgid "Add Test Template"
+msgstr ""
+
+#: part/templates/part/part_thumb.html:20
+msgid "Select from existing images"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:7
+#, python-format
+msgid "Are you sure you want to delete part '%(full_name)s'?"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:12
+#, python-format
+msgid ""
+"This part is used in BOMs for %(count)s other parts. If you delete this "
+"part, the BOMs for the following parts will be updated"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:22
+#, python-format
+msgid ""
+"There are %(count)s stock entries defined for this part. If you delete this "
+"part, the following stock entries will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:33
+#, python-format
+msgid ""
+"There are %(count)s manufacturers defined for this part. If you delete this "
+"part, the following manufacturer parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:44
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this part. If you delete this "
+"part, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:55
+#, python-format
+msgid ""
+"There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this "
+"part will permanently remove this tracking information."
+msgstr ""
+
+#: part/templates/part/related.html:18
+msgid "Add Related"
+msgstr ""
+
+#: part/templates/part/sale_prices.html:10
+msgid "Sell Price Information"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New sales order"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New Order"
+msgstr ""
+
+#: part/templates/part/set_category.html:9
+msgid "Set category for the following parts"
+msgstr ""
+
+#: part/templates/part/stock.html:10
+msgid "Part Stock"
+msgstr ""
+
+#: part/templates/part/stock.html:16
+#, python-format
+msgid "Showing stock for all variants of %(full_name)s"
+msgstr ""
+
+#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
+#: templates/js/part.js:422
+msgid "No Stock"
+msgstr ""
+
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:130
+msgid "Low Stock"
+msgstr ""
+
+#: part/templates/part/supplier.html:10
+msgid "Part Suppliers"
+msgstr ""
+
+#: part/templates/part/track.html:10
+msgid "Part Tracking"
+msgstr ""
+
+#: part/templates/part/used_in.html:9
+msgid "Assemblies"
+msgstr ""
+
+#: part/templates/part/variant_part.html:9
+msgid "Create new part variant"
+msgstr ""
+
+#: part/templates/part/variant_part.html:10
+#, python-format
+msgid "Create a new variant of template '%(full_name)s'."
+msgstr ""
+
+#: part/templates/part/variants.html:19
+msgid "Create new variant"
+msgstr ""
+
+#: part/templates/part/variants.html:20
+msgid "New Variant"
+msgstr ""
+
+#: part/views.py:89
+msgid "Add Related Part"
+msgstr ""
+
+#: part/views.py:144
+msgid "Delete Related Part"
+msgstr ""
+
+#: part/views.py:158
+msgid "Add part attachment"
+msgstr ""
+
+#: part/views.py:211 templates/attachment_table.html:32
+msgid "Edit attachment"
+msgstr ""
+
+#: part/views.py:215
+msgid "Part attachment updated"
+msgstr ""
+
+#: part/views.py:230
+msgid "Delete Part Attachment"
+msgstr ""
+
+#: part/views.py:238
+msgid "Deleted part attachment"
+msgstr ""
+
+#: part/views.py:247
+msgid "Create Test Template"
+msgstr ""
+
+#: part/views.py:274
+msgid "Edit Test Template"
+msgstr ""
+
+#: part/views.py:288
+msgid "Delete Test Template"
+msgstr ""
+
+#: part/views.py:295
+msgid "Set Part Category"
+msgstr ""
+
+#: part/views.py:345
+#, python-brace-format
+msgid "Set category for {n} parts"
+msgstr ""
+
+#: part/views.py:380
+msgid "Create Variant"
+msgstr ""
+
+#: part/views.py:465
+msgid "Copied part"
+msgstr ""
+
+#: part/views.py:519 part/views.py:657
+msgid "Possible matches exist - confirm creation of new part"
+msgstr ""
+
+#: part/views.py:589
+msgid "Created new part"
+msgstr ""
+
+#: part/views.py:825
+msgid "Part QR Code"
+msgstr ""
+
+#: part/views.py:927
+msgid "Upload Part Image"
+msgstr ""
+
+#: part/views.py:933 part/views.py:968
+msgid "Updated part image"
+msgstr ""
+
+#: part/views.py:942
+msgid "Select Part Image"
+msgstr ""
+
+#: part/views.py:971
+msgid "Part image not found"
+msgstr ""
+
+#: part/views.py:982
+msgid "Edit Part Properties"
+msgstr ""
+
+#: part/views.py:1017
+msgid "Duplicate BOM"
+msgstr ""
+
+#: part/views.py:1047
+msgid "Confirm duplication of BOM from parent"
+msgstr ""
+
+#: part/views.py:1068
+msgid "Validate BOM"
+msgstr ""
+
+#: part/views.py:1089
+msgid "Confirm that the BOM is valid"
+msgstr ""
+
+#: part/views.py:1100
+msgid "Validated Bill of Materials"
+msgstr ""
+
+#: part/views.py:1234
+msgid "No BOM file provided"
+msgstr ""
+
+#: part/views.py:1595
+msgid "Enter a valid quantity"
+msgstr ""
+
+#: part/views.py:1620 part/views.py:1623
+msgid "Select valid part"
+msgstr ""
+
+#: part/views.py:1629
+msgid "Duplicate part selected"
+msgstr ""
+
+#: part/views.py:1667
+msgid "Select a part"
+msgstr ""
+
+#: part/views.py:1673
+msgid "Selected part creates a circular BOM"
+msgstr ""
+
+#: part/views.py:1677
+msgid "Specify quantity"
+msgstr ""
+
+#: part/views.py:1939
+msgid "Confirm Part Deletion"
+msgstr ""
+
+#: part/views.py:1946
+msgid "Part was deleted"
+msgstr ""
+
+#: part/views.py:1955
+msgid "Part Pricing"
+msgstr ""
+
+#: part/views.py:2069
+msgid "Create Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2079
+msgid "Edit Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2086
+msgid "Delete Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2094
+msgid "Create Part Parameter"
+msgstr ""
+
+#: part/views.py:2144
+msgid "Edit Part Parameter"
+msgstr ""
+
+#: part/views.py:2158
+msgid "Delete Part Parameter"
+msgstr ""
+
+#: part/views.py:2218
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:2256
+msgid "Delete Part Category"
+msgstr ""
+
+#: part/views.py:2262
+msgid "Part category was deleted"
+msgstr ""
+
+#: part/views.py:2314
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2415
+msgid "Edit Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2471
+msgid "Delete Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2490
+msgid "Create BOM Item"
+msgstr ""
+
+#: part/views.py:2560
+msgid "Edit BOM item"
+msgstr ""
+
+#: part/views.py:2616
+msgid "Confim BOM item deletion"
+msgstr ""
+
+#: report/models.py:180
+msgid "Template name"
+msgstr ""
+
+#: report/models.py:186
+msgid "Report template file"
+msgstr ""
+
+#: report/models.py:193
+msgid "Report template description"
+msgstr ""
+
+#: report/models.py:199
+msgid "Report revision number (auto-increments)"
+msgstr ""
+
+#: report/models.py:275
+msgid "Report template is enabled"
+msgstr ""
+
+#: report/models.py:295
+msgid "StockItem query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: report/models.py:303
+msgid "Include Installed Tests"
+msgstr ""
+
+#: report/models.py:304
+msgid "Include test results for stock items installed inside assembled item"
+msgstr ""
+
+#: report/models.py:347
+msgid "Build Filters"
+msgstr ""
+
+#: report/models.py:348
+msgid "Build query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:385
+msgid "Part Filters"
+msgstr ""
+
+#: report/models.py:386
+msgid "Part query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:416
+msgid "Purchase order query filters"
+msgstr ""
+
+#: report/models.py:450
+msgid "Sales order query filters"
+msgstr ""
+
+#: report/models.py:500
+msgid "Snippet"
+msgstr ""
+
+#: report/models.py:501
+msgid "Report snippet file"
+msgstr ""
+
+#: report/models.py:505
+msgid "Snippet file description"
+msgstr ""
+
+#: report/models.py:540
+msgid "Asset"
+msgstr ""
+
+#: report/models.py:541
+msgid "Report asset file"
+msgstr ""
+
+#: report/models.py:544
+msgid "Asset file description"
+msgstr ""
+
+#: report/templates/report/inventree_build_order_base.html:147
+msgid "Required For"
+msgstr ""
+
+#: report/templates/report/inventree_po_report.html:85
+#: report/templates/report/inventree_so_report.html:85
+msgid "Line 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:83
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:88
+#: stock/models.py:1643
+msgid "Test"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:89
+#: stock/models.py:1649
+msgid "Result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:92
+#: templates/js/order.js:195 templates/js/stock.js:986
+msgid "Date"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:103
+msgid "Pass"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:105
+msgid "Fail"
+msgstr ""
+
+#: stock/api.py:199
+#, python-brace-format
+msgid "Updated stock for {n} items"
+msgstr ""
+
+#: stock/api.py:268
+#, python-brace-format
+msgid "Moved {n} parts to {loc}"
+msgstr ""
+
+#: stock/forms.py:114 stock/forms.py:406 stock/models.py:475
+#: stock/templates/stock/item_base.html:365 templates/js/stock.js:656
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/forms.py:115 stock/forms.py:407
+msgid "Expiration date for this stock item"
+msgstr ""
+
+#: stock/forms.py:118
+msgid "Enter unique serial numbers (or leave blank)"
+msgstr ""
+
+#: stock/forms.py:169
+msgid ""
+"Destination for serialized stock (by default, will remain in current "
+"location)"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Serial numbers"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Unique serial numbers (must match quantity)"
+msgstr ""
+
+#: stock/forms.py:173 stock/forms.py:349
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/forms.py:203 stock/forms.py:259
+msgid "Select test report template"
+msgstr ""
+
+#: stock/forms.py:267 templates/js/table_filters.js:70
+#: templates/js/table_filters.js:133
+msgid "Include sublocations"
+msgstr ""
+
+#: stock/forms.py:267
+msgid "Include stock items in sub locations"
+msgstr ""
+
+#: stock/forms.py:302
+msgid "Stock item to install"
+msgstr ""
+
+#: stock/forms.py:309
+msgid "Stock quantity to assign"
+msgstr ""
+
+#: stock/forms.py:337
+msgid "Must not exceed available quantity"
+msgstr ""
+
+#: stock/forms.py:347
+msgid "Destination location for uninstalled items"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm uninstall"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm removal of installed stock items"
+msgstr ""
+
+#: stock/forms.py:375
+msgid "Destination stock location"
+msgstr ""
+
+#: stock/forms.py:377
+msgid "Add note (required)"
+msgstr ""
+
+#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: stock/forms.py:381
+msgid "Confirm movement of stock items"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set Default Location"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set the destination as the default location for selected parts"
+msgstr ""
+
+#: stock/models.py:54 stock/models.py:513
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:55 stock/models.py:514
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:205
+msgid "Created stock item"
+msgstr ""
+
+#: stock/models.py:241
+msgid "StockItem with this serial number already exists"
+msgstr ""
+
+#: stock/models.py:277
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:287 stock/models.py:296
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:288
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:310
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:316
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:323
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:365
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:374
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:383
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:388 stock/templates/stock/stock_app_base.html:8
+msgid "Stock Location"
+msgstr ""
+
+#: stock/models.py:391
+msgid "Where is this stock item located?"
+msgstr ""
+
+#: stock/models.py:398
+msgid "Packaging this stock item is stored in"
+msgstr ""
+
+#: stock/models.py:403 stock/templates/stock/item_base.html:259
+msgid "Installed In"
+msgstr ""
+
+#: stock/models.py:406
+msgid "Is this item installed in another item?"
+msgstr ""
+
+#: stock/models.py:422
+msgid "Serial number for this item"
+msgstr ""
+
+#: stock/models.py:434
+msgid "Batch code for this stock item"
+msgstr ""
+
+#: stock/models.py:438
+msgid "Stock Quantity"
+msgstr ""
+
+#: stock/models.py:447
+msgid "Source Build"
+msgstr ""
+
+#: stock/models.py:449
+msgid "Build for this stock item"
+msgstr ""
+
+#: stock/models.py:460
+msgid "Source Purchase Order"
+msgstr ""
+
+#: stock/models.py:463
+msgid "Purchase order for this stock item"
+msgstr ""
+
+#: stock/models.py:469
+msgid "Destination Sales Order"
+msgstr ""
+
+#: stock/models.py:476
+msgid ""
+"Expiry date for stock item. Stock will be considered expired after this date"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete on deplete"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete this Stock Item when stock is depleted"
+msgstr ""
+
+#: stock/models.py:499 stock/templates/stock/item_notes.html:13
+#: stock/templates/stock/navbar.html:54
+msgid "Stock Item Notes"
+msgstr ""
+
+#: stock/models.py:509
+msgid "Single unit purchase price at time of purchase"
+msgstr ""
+
+#: stock/models.py:614
+msgid "Assigned to Customer"
+msgstr ""
+
+#: stock/models.py:616
+msgid "Manually assigned to customer"
+msgstr ""
+
+#: stock/models.py:629
+msgid "Returned from customer"
+msgstr ""
+
+#: stock/models.py:631
+msgid "Returned to location"
+msgstr ""
+
+#: stock/models.py:792
+msgid "Installed into stock item"
+msgstr ""
+
+#: stock/models.py:800
+msgid "Installed stock item"
+msgstr ""
+
+#: stock/models.py:824
+msgid "Uninstalled stock item"
+msgstr ""
+
+#: stock/models.py:843
+msgid "Uninstalled into location"
+msgstr ""
+
+#: stock/models.py:944
+msgid "Part is not set as trackable"
+msgstr ""
+
+#: stock/models.py:950
+msgid "Quantity must be integer"
+msgstr ""
+
+#: stock/models.py:956
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({n})"
+msgstr ""
+
+#: stock/models.py:959
+msgid "Serial numbers must be a list of integers"
+msgstr ""
+
+#: stock/models.py:962
+msgid "Quantity does not match serial numbers"
+msgstr ""
+
+#: stock/models.py:994
+msgid "Add serial number"
+msgstr ""
+
+#: stock/models.py:997
+#, python-brace-format
+msgid "Serialized {n} items"
+msgstr ""
+
+#: stock/models.py:1075
+msgid "Split from existing stock"
+msgstr ""
+
+#: stock/models.py:1113
+msgid "StockItem cannot be moved as it is not in stock"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Title"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Tracking entry title"
+msgstr ""
+
+#: stock/models.py:1558
+msgid "Entry notes"
+msgstr ""
+
+#: stock/models.py:1560
+msgid "Link to external page for further information"
+msgstr ""
+
+#: stock/models.py:1620
+msgid "Value must be provided for this test"
+msgstr ""
+
+#: stock/models.py:1626
+msgid "Attachment must be uploaded for this test"
+msgstr ""
+
+#: stock/models.py:1644
+msgid "Test name"
+msgstr ""
+
+#: stock/models.py:1650 templates/js/table_filters.js:212
+msgid "Test result"
+msgstr ""
+
+#: stock/models.py:1656
+msgid "Test output value"
+msgstr ""
+
+#: stock/models.py:1663
+msgid "Test result attachment"
+msgstr ""
+
+#: stock/models.py:1669
+msgid "Test notes"
+msgstr ""
+
+#: stock/templates/stock/item.html:12
+msgid "Stock Tracking Information"
+msgstr ""
+
+#: stock/templates/stock/item.html:30
+msgid "New Entry"
+msgstr ""
+
+#: stock/templates/stock/item_attachments.html:11
+msgid "Stock Item Attachments"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:24
+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:31
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:32
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:45
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:53
+#, python-format
+msgid ""
+"This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:61
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:67
+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:71
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:75
+msgid ""
+"This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:145
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:99
+#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:150
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:136 templates/js/barcode.js:309
+#: templates/js/barcode.js:314
+msgid "Unlink Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:138
+msgid "Link Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:140 templates/stock_table.html:31
+msgid "Scan to Location"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:147
+msgid "Printing actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_tests.html:27
+msgid "Test Report"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:160
+msgid "Stock adjustment actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:164
+#: stock/templates/stock/location.html:65 templates/stock_table.html:56
+msgid "Count stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:167 templates/stock_table.html:54
+msgid "Add stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:170 templates/stock_table.html:55
+msgid "Remove stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:173
+msgid "Serialize stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:177
+msgid "Transfer stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:180
+msgid "Assign to customer"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:183
+msgid "Return to stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1299
+msgid "Uninstall stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187
+msgid "Uninstall"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:199
+msgid "Convert to variant"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:202
+msgid "Duplicate stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:204
+msgid "Edit stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:207
+msgid "Delete stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:219
+msgid "Stock Item Details"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:278 templates/js/build.js:498
+msgid "No location set"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:285
+msgid "Barcode Identifier"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:327
+msgid "Parent Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:369
+#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:371
+#, python-format
+msgid "This StockItem expires on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:378 templates/js/stock.js:662
+msgid "Last Updated"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:383
+msgid "Last Stocktake"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:387
+msgid "No stocktake performed"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:12
+msgid "Child Stock Items"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:20
+msgid "This stock item does not have any child items"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:9
+msgid "Are you sure you want to delete this stock item?"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:12
+#, python-format
+msgid ""
+"This will remove %(qty)s units of %(full_name)s from stock."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:7
+msgid "Install another StockItem into this item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:10
+msgid "Stock items can only be installed if they meet the following criteria"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:13
+msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:14
+msgid "The StockItem is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_installed.html:11
+#: stock/templates/stock/navbar.html:27
+msgid "Installed Stock Items"
+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/item_tests.html:11
+#: stock/templates/stock/navbar.html:19 stock/templates/stock/navbar.html:22
+msgid "Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:20
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:24
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/location.html:20
+msgid ""
+"You are not in the list of owners of this location. This stock location "
+"cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:37
+msgid "All stock items"
+msgstr ""
+
+#: stock/templates/stock/location.html:55
+msgid "Check-in Items"
+msgstr ""
+
+#: stock/templates/stock/location.html:71
+msgid "Location actions"
+msgstr ""
+
+#: stock/templates/stock/location.html:73
+msgid "Edit location"
+msgstr ""
+
+#: stock/templates/stock/location.html:75
+msgid "Delete location"
+msgstr ""
+
+#: stock/templates/stock/location.html:87
+msgid "Location Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:92
+msgid "Location Path"
+msgstr ""
+
+#: stock/templates/stock/location.html:97
+msgid "Location Description"
+msgstr ""
+
+#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location_navbar.html:11
+#: stock/templates/stock/location_navbar.html:18
+#: stock/templates/stock/sublocation.html:16
+msgid "Sublocations"
+msgstr ""
+
+#: stock/templates/stock/location.html:112
+msgid "Stock Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: templates/stats.html:76 users/models.py:39
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/templates/stock/location_delete.html:7
+msgid "Are you sure you want to delete this stock location?"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:11
+msgid "Stock Item Tracking"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:14
+msgid "History"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:30
+msgid "Installed Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:38
+msgid "Child Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:41
+msgid "Children"
+msgstr ""
+
+#: stock/templates/stock/stock_adjust.html:43
+msgid "Remove item"
+msgstr ""
+
+#: stock/templates/stock/stock_app_base.html:16
+msgid "Loading..."
+msgstr ""
+
+#: stock/templates/stock/stock_uninstall.html:8
+msgid "The following stock items will be uninstalled"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1332
+msgid "Convert Stock Item"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:8
+#, python-format
+msgid "This stock item is current an instance of %(part)s"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:9
+msgid "It can be converted to one of the part variants listed below."
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:14
+msgid "This action cannot be easily undone"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:23 templates/stock_table.html:37
+msgid "Printing Actions"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:27 templates/stock_table.html:41
+msgid "Print labels"
+msgstr ""
+
+#: stock/templates/stock/tracking_delete.html:6
+msgid "Are you sure you want to delete this stock tracking entry?"
+msgstr ""
+
+#: stock/views.py:123
+msgid "Edit Stock Location"
+msgstr ""
+
+#: stock/views.py:230 stock/views.py:1322 stock/views.py:1433
+#: stock/views.py:1798
+msgid "Owner is required (ownership control is enabled)"
+msgstr ""
+
+#: stock/views.py:245
+msgid "Stock Location QR code"
+msgstr ""
+
+#: stock/views.py:265
+msgid "Add Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:311
+msgid "Edit Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:327
+msgid "Delete Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:343
+msgid "Assign to Customer"
+msgstr ""
+
+#: stock/views.py:352
+msgid "Customer must be specified"
+msgstr ""
+
+#: stock/views.py:376
+msgid "Return to Stock"
+msgstr ""
+
+#: stock/views.py:385
+msgid "Specify a valid location"
+msgstr ""
+
+#: stock/views.py:396
+msgid "Stock item returned from customer"
+msgstr ""
+
+#: stock/views.py:407
+msgid "Delete All Test Data"
+msgstr ""
+
+#: stock/views.py:424
+msgid "Confirm test data deletion"
+msgstr ""
+
+#: stock/views.py:444
+msgid "Add Test Result"
+msgstr ""
+
+#: stock/views.py:484
+msgid "Edit Test Result"
+msgstr ""
+
+#: stock/views.py:501
+msgid "Delete Test Result"
+msgstr ""
+
+#: stock/views.py:509
+msgid "Stock Export Options"
+msgstr ""
+
+#: stock/views.py:630
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/views.py:656
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/views.py:755
+msgid "Uninstall Stock Items"
+msgstr ""
+
+#: stock/views.py:863
+msgid "Uninstalled stock items"
+msgstr ""
+
+#: stock/views.py:888
+msgid "Adjust Stock"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move Stock Items"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count Stock Items"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Remove From Stock"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Take"
+msgstr ""
+
+#: stock/views.py:1001
+msgid "Add Stock Items"
+msgstr ""
+
+#: stock/views.py:1001 users/models.py:180
+msgid "Add"
+msgstr ""
+
+#: stock/views.py:1002
+msgid "Delete Stock Items"
+msgstr ""
+
+#: stock/views.py:1031
+msgid "Must enter integer value"
+msgstr ""
+
+#: stock/views.py:1036
+msgid "Quantity must be positive"
+msgstr ""
+
+#: stock/views.py:1043
+#, python-brace-format
+msgid "Quantity must not exceed {x}"
+msgstr ""
+
+#: stock/views.py:1107
+msgid "No action performed"
+msgstr ""
+
+#: stock/views.py:1122
+#, python-brace-format
+msgid "Added stock to {n} items"
+msgstr ""
+
+#: stock/views.py:1137
+#, python-brace-format
+msgid "Removed stock from {n} items"
+msgstr ""
+
+#: stock/views.py:1150
+#, python-brace-format
+msgid "Counted stock for {n} items"
+msgstr ""
+
+#: stock/views.py:1190
+msgid "No items were moved"
+msgstr ""
+
+#: stock/views.py:1193
+#, python-brace-format
+msgid "Moved {n} items to {dest}"
+msgstr ""
+
+#: stock/views.py:1212
+#, python-brace-format
+msgid "Deleted {n} stock items"
+msgstr ""
+
+#: stock/views.py:1224
+msgid "Edit Stock Item"
+msgstr ""
+
+#: stock/views.py:1450
+msgid "Serialize Stock"
+msgstr ""
+
+#: stock/views.py:1543 templates/js/build.js:244
+msgid "Create new Stock Item"
+msgstr ""
+
+#: stock/views.py:1685
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: stock/views.py:1767
+msgid "Quantity cannot be negative"
+msgstr ""
+
+#: stock/views.py:1867
+msgid "Delete Stock Location"
+msgstr ""
+
+#: stock/views.py:1880
+msgid "Delete Stock Item"
+msgstr ""
+
+#: stock/views.py:1891
+msgid "Delete Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1898
+msgid "Edit Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1907
+msgid "Add Stock Tracking Entry"
+msgstr ""
+
+#: templates/403.html:5 templates/403.html:11
+msgid "Permission Denied"
+msgstr ""
+
+#: templates/403.html:14
+msgid "You do not have permission to view this page."
+msgstr ""
+
+#: templates/404.html:5 templates/404.html:11
+msgid "Page Not Found"
+msgstr ""
+
+#: templates/404.html:14
+msgid "The requested page does not exist"
+msgstr ""
+
+#: templates/InvenTree/index.html:7
+msgid "Index"
+msgstr ""
+
+#: templates/InvenTree/index.html:98
+msgid "Starred Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:99
+msgid "Latest Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:100
+msgid "BOM Waiting Validation"
+msgstr ""
+
+#: templates/InvenTree/index.html:129
+msgid "Recently Updated"
+msgstr ""
+
+#: templates/InvenTree/index.html:145
+msgid "Expired Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:146
+msgid "Stale Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:184
+msgid "Build Orders In Progress"
+msgstr ""
+
+#: templates/InvenTree/index.html:185
+msgid "Overdue Build Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:206
+msgid "Outstanding Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:207
+msgid "Overdue Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:229
+msgid "Outstanding Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:230
+msgid "Overdue Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+msgid "Search Results"
+msgstr ""
+
+#: templates/InvenTree/search.html:24
+msgid "Enter a search query"
+msgstr ""
+
+#: templates/InvenTree/search.html:268 templates/js/stock.js:300
+msgid "Shipped to customer"
+msgstr ""
+
+#: templates/InvenTree/search.html:271 templates/js/stock.js:310
+msgid "No stock location set"
+msgstr ""
+
+#: templates/InvenTree/settings/build.html:10
+msgid "Build Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:9
+msgid "Category Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:25
+msgid "Category Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:52
+msgid "No category parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:70
+#: templates/InvenTree/settings/part.html:81
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:71
+#: templates/InvenTree/settings/part.html:82
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:10
+msgid "Global InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:27
+msgid "Barcode Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/header.html:7
+msgid "Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:9
+msgid "Part Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:14
+msgid "Part Options"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:40
+msgid "Part Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:61
+msgid "No part parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/po.html:9
+msgid "Purchase Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/report.html:10
+msgid "Report Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:23
+msgid "No value set"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:31
+msgid "Edit setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:8
+#: templates/InvenTree/settings/settings.html:14 templates/navbar.html:84
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/so.html:9
+msgid "Sales Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:9
+msgid "Stock Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:49
+msgid "Stock Options"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:3
+#: templates/InvenTree/settings/user.html:10
+msgid "User Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:6
+msgid "Account"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:9
+msgid "Theme"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:13
+msgid "InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:16
+msgid "Global"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:19
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:22
+msgid "Categories"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:10
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:17
+msgid "Color Themes"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:29
+#, python-format
+msgid ""
+"\n"
+"\t\tThe CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected "
+"color theme was not found.
\n"
+"\t\tPlease select another color theme :)\n"
+"\t"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:16
+msgid "User Information"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:21
+msgid "Change Password"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:28
+#: templates/registration/login.html:59
+msgid "Username"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:32
+msgid "First Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:36
+msgid "Last Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:40
+msgid "Email Address"
+msgstr ""
+
+#: templates/about.html:13
+msgid "InvenTree Version Information"
+msgstr ""
+
+#: templates/about.html:22
+msgid "InvenTree Version"
+msgstr ""
+
+#: templates/about.html:26
+msgid "Up to Date"
+msgstr ""
+
+#: templates/about.html:28
+msgid "Update Available"
+msgstr ""
+
+#: templates/about.html:34
+msgid "Django Version"
+msgstr ""
+
+#: templates/about.html:41
+msgid "Commit Hash"
+msgstr ""
+
+#: templates/about.html:48
+msgid "Commit Date"
+msgstr ""
+
+#: templates/about.html:53
+msgid "InvenTree Documentation"
+msgstr ""
+
+#: templates/about.html:58
+msgid "View Code on GitHub"
+msgstr ""
+
+#: templates/about.html:63
+msgid "Get the App"
+msgstr ""
+
+#: templates/about.html:68
+msgid "Submit Bug Report"
+msgstr ""
+
+#: templates/attachment_table.html:6
+msgid "Add Attachment"
+msgstr ""
+
+#: templates/attachment_table.html:15
+msgid "File"
+msgstr ""
+
+#: templates/attachment_table.html:17
+msgid "Uploaded"
+msgstr ""
+
+#: templates/attachment_table.html:35
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/image_download.html:8
+msgid "Specify URL for downloading image"
+msgstr ""
+
+#: templates/image_download.html:11
+msgid "Must be a valid image URL"
+msgstr ""
+
+#: templates/image_download.html:12
+msgid "Remote server must be accessible"
+msgstr ""
+
+#: templates/image_download.html:13
+msgid "Remote image must not exceed maximum allowable file size"
+msgstr ""
+
+#: templates/js/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/barcode.js:119 templates/js/modals.js:857
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:311
+msgid ""
+"This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/barcode.js:376
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/barcode.js:422 templates/js/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/barcode.js:462 templates/js/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/bom.js:175 templates/js/build.js:994
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/bom.js:261
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/filters.js:397
+msgid "true"
+msgstr ""
+
+#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/filters.js:398
+msgid "false"
+msgstr ""
+
+#: templates/js/bom.js:290 templates/js/bom.js:376
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/bom.js:350
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:352
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/bom.js:354
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:356
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/build.js:62
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/build.js:70
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/build.js:80
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/build.js:89
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/build.js:243 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/build.js:549
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/build.js:570
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/build.js:638 templates/js/build.js:1056
+#: templates/stock_table.html:58
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/build.js:691
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
+#: templates/js/stock.js:511 templates/js/stock.js:938
+#: templates/js/stock.js:1331
+msgid "Select"
+msgstr ""
+
+#: templates/js/build.js:728
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/build.js:827
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/company.js:74
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/company.js:83
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/company.js:96
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/company.js:129
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/company.js:148 templates/js/company.js:246
+#: templates/js/part.js:60 templates/js/part.js:145
+msgid "Template part"
+msgstr ""
+
+#: templates/js/company.js:152 templates/js/company.js:250
+#: templates/js/part.js:64 templates/js/part.js:149
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/company.js:227
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/filters.js:268
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/filters.js:271
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/filters.js:296
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/label.js:10 templates/js/report.js:98
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:29 templates/js/label.js:79
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/label.js:154
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/label.js:162
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/label.js:177
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/modals.js:256
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/modals.js:406
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/modals.js:473 templates/modals.html:73
+msgid "Accept"
+msgstr ""
+
+#: templates/js/modals.js:474 templates/modals.html:72
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/modals.js:538
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/modals.js:549 templates/js/modals.js:808
+#: templates/modals.html:29 templates/modals.html:53
+msgid "Submit"
+msgstr ""
+
+#: templates/js/modals.js:550 templates/js/modals.js:809
+#: templates/modals.html:28 templates/modals.html:52 templates/modals.html:93
+msgid "Close"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/modals.js:773
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/modals.js:857
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/modals.js:867
+msgid "No Response"
+msgstr ""
+
+#: templates/js/modals.js:868
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/modals.js:872
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/modals.js:873
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/modals.js:877
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/modals.js:878
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/modals.js:882
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/modals.js:883
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/modals.js:887
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/modals.js:888
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/modals.js:892
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/modals.js:893
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/modals.js:896
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/order.js:138
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/order.js:162 templates/js/order.js:257
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/order.js:234
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/part.js:52 templates/js/part.js:137
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/part.js:56 templates/js/part.js:141
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/part.js:68
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/part.js:72
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/part.js:186
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/part.js:272 templates/js/part.js:452
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/part.js:391
+msgid "No category"
+msgstr ""
+
+#: templates/js/part.js:409 templates/js/table_filters.js:318
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/part.js:571 templates/js/stock.js:962
+msgid "Path"
+msgstr ""
+
+#: templates/js/part.js:588
+msgid "YES"
+msgstr ""
+
+#: templates/js/part.js:590
+msgid "NO"
+msgstr ""
+
+#: templates/js/part.js:624
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/part.js:675 templates/js/stock.js:75
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/part.js:676 templates/js/stock.js:76
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/part.js:682
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/report.js:47
+msgid "items selected"
+msgstr ""
+
+#: templates/js/report.js:55
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/report.js:70
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/report.js:99
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:116 templates/js/report.js:169
+#: templates/js/report.js:223 templates/js/report.js:277
+#: templates/js/report.js:331
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/report.js:117
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/report.js:152
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/report.js:153
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:170
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:224
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/report.js:259
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/report.js:260
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/report.js:278 templates/js/report.js:332
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/report.js:313
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/report.js:314
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/stock.js:38
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:40
+msgid "FAIL"
+msgstr ""
+
+#: templates/js/stock.js:45
+msgid "NO RESULT"
+msgstr ""
+
+#: templates/js/stock.js:71
+msgid "Add test result"
+msgstr ""
+
+#: templates/js/stock.js:90
+msgid "No test results found"
+msgstr ""
+
+#: templates/js/stock.js:132
+msgid "Test Date"
+msgstr ""
+
+#: templates/js/stock.js:292
+msgid "In production"
+msgstr ""
+
+#: templates/js/stock.js:296
+msgid "Installed in Stock Item"
+msgstr ""
+
+#: templates/js/stock.js:304
+msgid "Assigned to Sales Order"
+msgstr ""
+
+#: templates/js/stock.js:336
+msgid "No stock items matching query"
+msgstr ""
+
+#: templates/js/stock.js:357
+msgid "items"
+msgstr ""
+
+#: templates/js/stock.js:449
+msgid "batches"
+msgstr ""
+
+#: templates/js/stock.js:476
+msgid "locations"
+msgstr ""
+
+#: templates/js/stock.js:478
+msgid "Undefined location"
+msgstr ""
+
+#: templates/js/stock.js:579
+msgid "Stock item is in production"
+msgstr ""
+
+#: templates/js/stock.js:584
+msgid "Stock item assigned to sales order"
+msgstr ""
+
+#: templates/js/stock.js:587
+msgid "Stock item assigned to customer"
+msgstr ""
+
+#: templates/js/stock.js:591
+msgid "Stock item has expired"
+msgstr ""
+
+#: templates/js/stock.js:593
+msgid "Stock item will expire soon"
+msgstr ""
+
+#: templates/js/stock.js:597
+msgid "Stock item has been allocated"
+msgstr ""
+
+#: templates/js/stock.js:601
+msgid "Stock item has been installed in another item"
+msgstr ""
+
+#: templates/js/stock.js:609
+msgid "Stock item has been rejected"
+msgstr ""
+
+#: templates/js/stock.js:613
+msgid "Stock item is lost"
+msgstr ""
+
+#: templates/js/stock.js:616
+msgid "Stock item is destroyed"
+msgstr ""
+
+#: templates/js/stock.js:620 templates/js/table_filters.js:138
+msgid "Depleted"
+msgstr ""
+
+#: templates/js/stock.js:649
+msgid "Stocktake"
+msgstr ""
+
+#: templates/js/stock.js:825
+msgid "Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:840
+msgid "Set Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:854
+msgid "Select Status Code"
+msgstr ""
+
+#: templates/js/stock.js:855
+msgid "Status code must be selected"
+msgstr ""
+
+#: templates/js/stock.js:1050
+msgid "No user information"
+msgstr ""
+
+#: templates/js/stock.js:1060
+msgid "Edit tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1061
+msgid "Delete tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1170
+msgid "Create New Location"
+msgstr ""
+
+#: templates/js/stock.js:1269
+msgid "Serial"
+msgstr ""
+
+#: templates/js/stock.js:1362 templates/js/table_filters.js:171
+msgid "Installed"
+msgstr ""
+
+#: templates/js/stock.js:1387
+msgid "Install item"
+msgstr ""
+
+#: templates/js/table_filters.js:42
+msgid "Trackable Part"
+msgstr ""
+
+#: templates/js/table_filters.js:46
+msgid "Validated"
+msgstr ""
+
+#: templates/js/table_filters.js:71
+msgid "Include locations"
+msgstr ""
+
+#: templates/js/table_filters.js:81 templates/js/table_filters.js:82
+#: templates/js/table_filters.js:295
+msgid "Include subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:92 templates/js/table_filters.js:181
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/table_filters.js:95 templates/js/table_filters.js:188
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/table_filters.js:96 templates/js/table_filters.js:189
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:99 templates/js/table_filters.js:192
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/table_filters.js:100 templates/js/table_filters.js:193
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:103 templates/js/table_filters.js:104
+#: templates/js/table_filters.js:184 templates/js/table_filters.js:185
+msgid "Serial number"
+msgstr ""
+
+#: templates/js/table_filters.js:108 templates/js/table_filters.js:202
+msgid "Batch code"
+msgstr ""
+
+#: templates/js/table_filters.js:118 templates/js/table_filters.js:285
+msgid "Active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:119
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:124
+msgid "Part is an assembly"
+msgstr ""
+
+#: templates/js/table_filters.js:128
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:129
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:134
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/table_filters.js:139
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/table_filters.js:146
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/table_filters.js:151
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/table_filters.js:157
+msgid "Show items which are in stock"
+msgstr ""
+
+#: templates/js/table_filters.js:161
+msgid "In Production"
+msgstr ""
+
+#: templates/js/table_filters.js:162
+msgid "Show items which are in production"
+msgstr ""
+
+#: templates/js/table_filters.js:166
+msgid "Include Variants"
+msgstr ""
+
+#: templates/js/table_filters.js:167
+msgid "Include stock items for variant parts"
+msgstr ""
+
+#: templates/js/table_filters.js:172
+msgid "Show stock items which are installed in another item"
+msgstr ""
+
+#: templates/js/table_filters.js:176
+msgid "Sent to customer"
+msgstr ""
+
+#: templates/js/table_filters.js:177
+msgid "Show items which have been assigned to a customer"
+msgstr ""
+
+#: templates/js/table_filters.js:197 templates/js/table_filters.js:198
+msgid "Stock status"
+msgstr ""
+
+#: templates/js/table_filters.js:231
+msgid "Build status"
+msgstr ""
+
+#: templates/js/table_filters.js:250 templates/js/table_filters.js:267
+msgid "Order status"
+msgstr ""
+
+#: templates/js/table_filters.js:255 templates/js/table_filters.js:272
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/table_filters.js:296
+msgid "Include parts in subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:300
+msgid "Has IPN"
+msgstr ""
+
+#: templates/js/table_filters.js:301
+msgid "Part has internal part number"
+msgstr ""
+
+#: templates/js/table_filters.js:306
+msgid "Show active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:314
+msgid "Stock available"
+msgstr ""
+
+#: templates/js/table_filters.js:330
+msgid "Starred"
+msgstr ""
+
+#: templates/js/table_filters.js:342
+msgid "Purchasable"
+msgstr ""
+
+#: templates/js/tables.js:321
+msgid "Loading data"
+msgstr ""
+
+#: templates/js/tables.js:324
+msgid "rows per page"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "Showing"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "to"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "of"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "rows"
+msgstr ""
+
+#: templates/js/tables.js:330 templates/search_form.html:6
+#: templates/search_form.html:8
+msgid "Search"
+msgstr ""
+
+#: templates/js/tables.js:333
+msgid "No matching results"
+msgstr ""
+
+#: templates/js/tables.js:336
+msgid "Hide/Show pagination"
+msgstr ""
+
+#: templates/js/tables.js:339
+msgid "Refresh"
+msgstr ""
+
+#: templates/js/tables.js:342
+msgid "Toggle"
+msgstr ""
+
+#: templates/js/tables.js:345
+msgid "Columns"
+msgstr ""
+
+#: templates/js/tables.js:348
+msgid "All"
+msgstr ""
+
+#: templates/modals.html:21 templates/modals.html:46
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/navbar.html:33
+msgid "Buy"
+msgstr ""
+
+#: templates/navbar.html:43
+msgid "Sell"
+msgstr ""
+
+#: templates/navbar.html:55
+msgid "Scan Barcode"
+msgstr ""
+
+#: templates/navbar.html:77 users/models.py:36
+msgid "Admin"
+msgstr ""
+
+#: templates/navbar.html:79
+msgid "Logout"
+msgstr ""
+
+#: templates/navbar.html:81 templates/registration/login.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:104
+msgid "About InvenTree"
+msgstr ""
+
+#: templates/qr_code.html:11
+msgid "QR data not provided"
+msgstr ""
+
+#: templates/registration/logged_out.html:51
+msgid "You have been logged out"
+msgstr ""
+
+#: templates/registration/logged_out.html:52
+#: templates/registration/password_reset_complete.html:52
+#: templates/registration/password_reset_done.html:59
+msgid "Return to login screen"
+msgstr ""
+
+#: templates/registration/login.html:65
+msgid "Enter username"
+msgstr ""
+
+#: templates/registration/login.html:71
+msgid "Password"
+msgstr ""
+
+#: templates/registration/login.html:84
+msgid "Username / password combination is incorrect"
+msgstr ""
+
+#: templates/registration/login.html:96
+#: templates/registration/password_reset_form.html:52
+msgid "Forgotten your password?"
+msgstr ""
+
+#: templates/registration/login.html:96
+msgid "Click here to reset"
+msgstr ""
+
+#: templates/registration/password_reset_complete.html:51
+msgid "Password reset complete"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:53
+#: templates/registration/password_reset_confirm.html:57
+msgid "Change password"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:61
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:52
+msgid ""
+"We've emailed you instructions for setting your password, if an account "
+"exists with the email you entered. You should receive them shortly."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:55
+msgid ""
+"If you don't receive an email, please make sure you've entered the address "
+"you registered with, and check your spam folder."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:53
+msgid "Enter your email address below."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:54
+msgid "An email will be sent with password reset instructions."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:59
+msgid "Send email"
+msgstr ""
+
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
+#: templates/stats.html:13
+msgid "Instance Name"
+msgstr ""
+
+#: templates/stats.html:19
+msgid "Server status"
+msgstr ""
+
+#: templates/stats.html:22
+msgid "Healthy"
+msgstr ""
+
+#: templates/stats.html:24
+msgid "Issues detected"
+msgstr ""
+
+#: templates/stats.html:31
+msgid "Background Worker"
+msgstr ""
+
+#: templates/stats.html:34
+msgid "Background worker not running"
+msgstr ""
+
+#: templates/stats.html:42
+msgid "Email Settings"
+msgstr ""
+
+#: templates/stats.html:45
+msgid "Email settings not configured"
+msgstr ""
+
+#: templates/stock_table.html:14
+msgid "Export Stock Information"
+msgstr ""
+
+#: templates/stock_table.html:27
+msgid "Barcode Actions"
+msgstr ""
+
+#: templates/stock_table.html:43
+msgid "Print test reports"
+msgstr ""
+
+#: templates/stock_table.html:54
+msgid "Add to selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:55
+msgid "Remove from selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:56
+msgid "Stocktake selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move stock"
+msgstr ""
+
+#: templates/stock_table.html:58
+msgid "Order selected items"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change status"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change stock status"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete selected items"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/yesnolabel.html:4
+msgid "Yes"
+msgstr ""
+
+#: templates/yesnolabel.html:6
+msgid "No"
+msgstr ""
+
+#: users/admin.py:64
+msgid "Users"
+msgstr ""
+
+#: users/admin.py:65
+msgid "Select which users are assigned to this group"
+msgstr ""
+
+#: users/admin.py:187
+msgid "The following users are members of multiple groups:"
+msgstr ""
+
+#: users/admin.py:210
+msgid "Personal info"
+msgstr ""
+
+#: users/admin.py:211
+msgid "Permissions"
+msgstr ""
+
+#: users/admin.py:214
+msgid "Important dates"
+msgstr ""
+
+#: users/models.py:167
+msgid "Permission set"
+msgstr ""
+
+#: users/models.py:175
+msgid "Group"
+msgstr ""
+
+#: users/models.py:178
+msgid "View"
+msgstr ""
+
+#: users/models.py:178
+msgid "Permission to view items"
+msgstr ""
+
+#: users/models.py:180
+msgid "Permission to add items"
+msgstr ""
+
+#: users/models.py:182
+msgid "Change"
+msgstr ""
+
+#: users/models.py:182
+msgid "Permissions to edit items"
+msgstr ""
+
+#: users/models.py:184
+msgid "Permission to delete items"
+msgstr ""
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.mo b/InvenTree/locale/pl/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..16fcd00009
Binary files /dev/null and b/InvenTree/locale/pl/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
new file mode 100644
index 0000000000..49817cc3e3
--- /dev/null
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -0,0 +1,7290 @@
+# 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 , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-04-21 17:15+1000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
+"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
+"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
+
+#: InvenTree/api.py:64
+msgid "API endpoint not found"
+msgstr ""
+
+#: InvenTree/api.py:110
+msgid "No action specified"
+msgstr ""
+
+#: InvenTree/api.py:124
+msgid "No matching action found"
+msgstr ""
+
+#: InvenTree/fields.py:44
+msgid "Enter date"
+msgstr ""
+
+#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122
+#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226
+#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
+#: order/forms.py:71 part/forms.py:134
+msgid "Confirm"
+msgstr ""
+
+#: InvenTree/forms.py:126
+msgid "Confirm delete"
+msgstr ""
+
+#: InvenTree/forms.py:127
+msgid "Confirm item deletion"
+msgstr ""
+
+#: InvenTree/forms.py:159 templates/registration/login.html:77
+msgid "Enter password"
+msgstr ""
+
+#: InvenTree/forms.py:160
+msgid "Enter new password"
+msgstr ""
+
+#: InvenTree/forms.py:167
+msgid "Confirm password"
+msgstr ""
+
+#: InvenTree/forms.py:168
+msgid "Confirm new password"
+msgstr ""
+
+#: InvenTree/forms.py:203
+msgid "Apply Theme"
+msgstr ""
+
+#: InvenTree/forms.py:233
+msgid "Select Category"
+msgstr ""
+
+#: InvenTree/helpers.py:375 order/models.py:245 order/models.py:344
+#: stock/views.py:1763
+msgid "Invalid quantity provided"
+msgstr ""
+
+#: InvenTree/helpers.py:378
+msgid "Empty serial number string"
+msgstr ""
+
+#: InvenTree/helpers.py:399
+#, python-brace-format
+msgid "Duplicate serial: {n}"
+msgstr ""
+
+#: InvenTree/helpers.py:403 InvenTree/helpers.py:406 InvenTree/helpers.py:409
+#, python-brace-format
+msgid "Invalid group: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:414
+#, python-brace-format
+msgid "Duplicate serial: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:422
+msgid "No serial numbers found"
+msgstr ""
+
+#: InvenTree/helpers.py:426
+#, python-brace-format
+msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgstr ""
+
+#: InvenTree/models.py:59 stock/models.py:1662
+msgid "Attachment"
+msgstr ""
+
+#: InvenTree/models.py:60
+msgid "Select file to attach"
+msgstr ""
+
+#: InvenTree/models.py:62 templates/attachment_table.html:16
+msgid "Comment"
+msgstr ""
+
+#: InvenTree/models.py:62
+msgid "File comment"
+msgstr ""
+
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1908
+#: report/templates/report/inventree_test_report_base.html:91
+#: templates/js/stock.js:1041
+msgid "User"
+msgstr ""
+
+#: InvenTree/models.py:72
+msgid "upload date"
+msgstr ""
+
+#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:101
+#: part/models.py:686 part/models.py:2049 part/templates/part/params.html:27
+#: report/models.py:179 templates/InvenTree/search.html:137
+#: templates/InvenTree/search.html:289 templates/js/part.js:110
+#: templates/js/part.js:553 templates/js/stock.js:944
+msgid "Name"
+msgstr ""
+
+#: InvenTree/models.py:114 build/models.py:134
+#: build/templates/build/detail.html:21 company/models.py:342
+#: company/models.py:494 company/templates/company/detail.html:27
+#: company/templates/company/manufacturer_part_base.html:72
+#: company/templates/company/supplier_part_base.html:71
+#: company/templates/company/supplier_part_detail.html:31 label/models.py:108
+#: order/models.py:101 order/templates/order/purchase_order_detail.html:168
+#: part/models.py:710 part/templates/part/detail.html:54
+#: part/templates/part/set_category.html:14 report/models.py:192
+#: report/models.py:505 report/models.py:544
+#: report/templates/report/inventree_build_order_base.html:118
+#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
+#: templates/InvenTree/search.html:296
+#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
+#: templates/js/build.js:736 templates/js/build.js:1004
+#: templates/js/company.js:56 templates/js/order.js:183
+#: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252
+#: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643
+#: templates/js/stock.js:554 templates/js/stock.js:956
+#: templates/js/stock.js:1015
+msgid "Description"
+msgstr ""
+
+#: InvenTree/models.py:115
+msgid "Description (optional)"
+msgstr ""
+
+#: InvenTree/models.py:123
+msgid "parent"
+msgstr ""
+
+#: InvenTree/settings.py:493
+msgid "English"
+msgstr ""
+
+#: InvenTree/settings.py:494
+msgid "French"
+msgstr ""
+
+#: InvenTree/settings.py:495
+msgid "German"
+msgstr ""
+
+#: InvenTree/settings.py:496
+msgid "Polish"
+msgstr ""
+
+#: InvenTree/settings.py:497
+msgid "Turkish"
+msgstr ""
+
+#: InvenTree/status.py:93
+msgid "Background worker check failed"
+msgstr ""
+
+#: InvenTree/status.py:97
+msgid "Email backend not configured"
+msgstr ""
+
+#: InvenTree/status.py:100
+msgid "InvenTree system health checks failed"
+msgstr ""
+
+#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143
+#: InvenTree/status_codes.py:236
+msgid "Pending"
+msgstr ""
+
+#: InvenTree/status_codes.py:103
+msgid "Placed"
+msgstr ""
+
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239
+msgid "Complete"
+msgstr ""
+
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:238
+msgid "Cancelled"
+msgstr ""
+
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:188
+msgid "Lost"
+msgstr ""
+
+#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
+#: InvenTree/status_codes.py:190
+msgid "Returned"
+msgstr ""
+
+#: InvenTree/status_codes.py:144
+#: order/templates/order/sales_order_base.html:124
+msgid "Shipped"
+msgstr ""
+
+#: InvenTree/status_codes.py:184
+msgid "OK"
+msgstr ""
+
+#: InvenTree/status_codes.py:185
+msgid "Attention needed"
+msgstr ""
+
+#: InvenTree/status_codes.py:186
+msgid "Damaged"
+msgstr ""
+
+#: InvenTree/status_codes.py:187
+msgid "Destroyed"
+msgstr ""
+
+#: InvenTree/status_codes.py:189
+msgid "Rejected"
+msgstr ""
+
+#: InvenTree/status_codes.py:237
+msgid "Production"
+msgstr ""
+
+#: InvenTree/validators.py:22
+msgid "Not a valid currency code"
+msgstr ""
+
+#: InvenTree/validators.py:50
+msgid "Invalid character in part name"
+msgstr ""
+
+#: InvenTree/validators.py:63
+#, python-brace-format
+msgid "IPN must match regex pattern {pat}"
+msgstr ""
+
+#: InvenTree/validators.py:77 InvenTree/validators.py:91
+#: InvenTree/validators.py:105
+msgid "Reference must match pattern"
+msgstr ""
+
+#: InvenTree/validators.py:113
+#, python-brace-format
+msgid "Illegal character in name ({x})"
+msgstr ""
+
+#: InvenTree/validators.py:132 InvenTree/validators.py:148
+msgid "Overage value must not be negative"
+msgstr ""
+
+#: InvenTree/validators.py:150
+msgid "Overage must not exceed 100%"
+msgstr ""
+
+#: InvenTree/validators.py:157
+msgid "Overage must be an integer value or a percentage"
+msgstr ""
+
+#: InvenTree/views.py:587
+msgid "Delete Item"
+msgstr ""
+
+#: InvenTree/views.py:636
+msgid "Check box to confirm item deletion"
+msgstr ""
+
+#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+msgid "Edit User Information"
+msgstr ""
+
+#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+msgid "Set Password"
+msgstr ""
+
+#: InvenTree/views.py:681
+msgid "Password fields must match"
+msgstr ""
+
+#: InvenTree/views.py:887 templates/navbar.html:95
+msgid "System Information"
+msgstr ""
+
+#: barcodes/api.py:53 barcodes/api.py:150
+msgid "Must provide barcode_data parameter"
+msgstr ""
+
+#: barcodes/api.py:126
+msgid "No match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:128
+msgid "Match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:153
+msgid "Must provide stockitem parameter"
+msgstr ""
+
+#: barcodes/api.py:160
+msgid "No matching stock item found"
+msgstr ""
+
+#: barcodes/api.py:190
+msgid "Barcode already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:194
+msgid "Barcode already matches StockLocation object"
+msgstr ""
+
+#: barcodes/api.py:198
+msgid "Barcode already matches Part object"
+msgstr ""
+
+#: barcodes/api.py:204 barcodes/api.py:216
+msgid "Barcode hash already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:222
+msgid "Barcode associated with StockItem"
+msgstr ""
+
+#: build/forms.py:36
+msgid "Build Order reference"
+msgstr ""
+
+#: build/forms.py:37
+msgid "Order target date"
+msgstr ""
+
+#: build/forms.py:41 build/templates/build/build_base.html:136
+#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
+#: order/templates/order/order_base.html:124
+#: order/templates/order/sales_order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/build.js:783 templates/js/order.js:200
+#: templates/js/order.js:298
+msgid "Target Date"
+msgstr ""
+
+#: build/forms.py:42 build/models.py:224
+msgid ""
+"Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227
+#: build/templates/build/allocation_card.html:23
+#: build/templates/build/auto_allocate.html:17
+#: build/templates/build/build_base.html:123
+#: build/templates/build/detail.html:31 common/models.py:703
+#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
+#: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261
+#: order/forms.py:278 order/models.py:593 order/models.py:784
+#: order/templates/order/order_wizard/select_parts.html:32
+#: order/templates/order/purchase_order_detail.html:200
+#: order/templates/order/sales_order_detail.html:70
+#: order/templates/order/sales_order_detail.html:77
+#: order/templates/order/sales_order_detail.html:159
+#: order/templates/order/sales_order_detail.html:224 part/forms.py:342
+#: part/forms.py:371 part/forms.py:387 part/models.py:2178
+#: part/templates/part/allocation.html:19
+#: part/templates/part/allocation.html:53
+#: part/templates/part/part_pricing.html:11
+#: part/templates/part/part_pricing.html:18
+#: part/templates/part/sale_prices.html:85
+#: report/templates/report/inventree_build_order_base.html:114
+#: report/templates/report/inventree_po_report.html:91
+#: report/templates/report/inventree_so_report.html:91
+#: report/templates/report/inventree_test_report_base.html:77
+#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566
+#: stock/templates/stock/item_base.html:244
+#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
+#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
+#: templates/js/stock.js:1033 templates/js/stock.js:1271
+msgid "Quantity"
+msgstr ""
+
+#: build/forms.py:48
+msgid "Number of items to build"
+msgstr ""
+
+#: build/forms.py:90
+msgid "Enter quantity for build output"
+msgstr ""
+
+#: build/forms.py:94 order/forms.py:233 stock/forms.py:118
+msgid "Serial Numbers"
+msgstr ""
+
+#: build/forms.py:96
+msgid "Enter serial numbers for build outputs"
+msgstr ""
+
+#: build/forms.py:102
+msgid "Confirm creation of build output"
+msgstr ""
+
+#: build/forms.py:123
+msgid "Confirm deletion of build output"
+msgstr ""
+
+#: build/forms.py:144
+msgid "Confirm unallocation of stock"
+msgstr ""
+
+#: build/forms.py:168
+msgid "Confirm stock allocation"
+msgstr ""
+
+#: build/forms.py:185
+msgid "Mark build as complete"
+msgstr ""
+
+#: build/forms.py:209 build/templates/build/auto_allocate.html:18
+#: order/forms.py:82 stock/forms.py:347
+#: stock/templates/stock/item_base.html:274
+#: stock/templates/stock/stock_adjust.html:17
+#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
+#: templates/js/barcode.js:531 templates/js/build.js:490
+#: templates/js/stock.js:641
+msgid "Location"
+msgstr ""
+
+#: build/forms.py:210
+msgid "Location of completed parts"
+msgstr ""
+
+#: build/forms.py:214 build/templates/build/build_base.html:128
+#: build/templates/build/detail.html:59 order/models.py:445
+#: order/templates/order/receive_parts.html:24
+#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
+#: templates/js/barcode.js:119 templates/js/build.js:770
+#: templates/js/order.js:187 templates/js/order.js:285
+#: templates/js/stock.js:628 templates/js/stock.js:1279
+msgid "Status"
+msgstr ""
+
+#: build/forms.py:215
+msgid "Build output stock status"
+msgstr ""
+
+#: build/forms.py:222
+msgid "Confirm incomplete"
+msgstr ""
+
+#: build/forms.py:223
+msgid "Confirm completion with incomplete stock allocation"
+msgstr ""
+
+#: build/forms.py:226
+msgid "Confirm build completion"
+msgstr ""
+
+#: build/forms.py:251
+msgid "Confirm cancel"
+msgstr ""
+
+#: build/forms.py:251 build/views.py:66
+msgid "Confirm build cancellation"
+msgstr ""
+
+#: build/forms.py:265
+msgid "Select quantity of stock to allocate"
+msgstr ""
+
+#: build/models.py:65 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:63
+#: part/templates/part/allocation.html:23
+#: report/templates/report/inventree_build_order_base.html:106
+msgid "Build Order"
+msgstr ""
+
+#: build/models.py:66 build/templates/build/index.html:8
+#: build/templates/build/index.html:15 order/templates/order/so_builds.html:12
+#: order/templates/order/so_navbar.html:19
+#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
+#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
+#: templates/InvenTree/search.html:185
+#: templates/InvenTree/settings/tabs.html:31 users/models.py:41
+msgid "Build Orders"
+msgstr ""
+
+#: build/models.py:126
+msgid "Build Order Reference"
+msgstr ""
+
+#: build/models.py:127 order/models.py:99 order/models.py:595
+#: order/templates/order/purchase_order_detail.html:195
+#: order/templates/order/sales_order_detail.html:219 part/models.py:2187
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
+#: templates/js/build.js:565 templates/js/build.js:1008
+msgid "Reference"
+msgstr ""
+
+#: build/models.py:137
+msgid "Brief description of the build"
+msgstr ""
+
+#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/templates/build/detail.html:77
+msgid "Parent Build"
+msgstr ""
+
+#: build/models.py:147
+msgid "BuildOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:152 build/templates/build/auto_allocate.html:16
+#: build/templates/build/build_base.html:118
+#: build/templates/build/detail.html:26 company/models.py:669
+#: order/models.py:637 order/models.py:669
+#: order/templates/order/order_wizard/select_parts.html:30
+#: order/templates/order/purchase_order_detail.html:156
+#: order/templates/order/receive_parts.html:19
+#: order/templates/order/sales_order_detail.html:207 part/models.py:321
+#: part/models.py:1876 part/models.py:1888 part/models.py:1906
+#: part/models.py:1981 part/models.py:2077 part/models.py:2162
+#: part/templates/part/part_app_base.html:8
+#: part/templates/part/part_pricing.html:14 part/templates/part/related.html:29
+#: part/templates/part/set_category.html:13
+#: report/templates/report/inventree_build_order_base.html:110
+#: report/templates/report/inventree_po_report.html:90
+#: report/templates/report/inventree_so_report.html:90
+#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
+#: templates/js/barcode.js:362 templates/js/bom.js:163
+#: templates/js/build.js:741 templates/js/build.js:981
+#: templates/js/company.js:140 templates/js/company.js:238
+#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
+#: templates/js/stock.js:1343
+msgid "Part"
+msgstr ""
+
+#: build/models.py:160
+msgid "Select part to build"
+msgstr ""
+
+#: build/models.py:165
+msgid "Sales Order Reference"
+msgstr ""
+
+#: build/models.py:169
+msgid "SalesOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:174
+msgid "Source Location"
+msgstr ""
+
+#: build/models.py:178
+msgid ""
+"Select location to take stock from for this build (leave blank to take from "
+"any stock location)"
+msgstr ""
+
+#: build/models.py:183
+msgid "Destination Location"
+msgstr ""
+
+#: build/models.py:187
+msgid "Select location where the completed items will be stored"
+msgstr ""
+
+#: build/models.py:191
+msgid "Build Quantity"
+msgstr ""
+
+#: build/models.py:194
+msgid "Number of stock items to build"
+msgstr ""
+
+#: build/models.py:198
+msgid "Completed items"
+msgstr ""
+
+#: build/models.py:200
+msgid "Number of stock items which have been completed"
+msgstr ""
+
+#: build/models.py:204 part/templates/part/part_base.html:160
+msgid "Build Status"
+msgstr ""
+
+#: build/models.py:208
+msgid "Build status code"
+msgstr ""
+
+#: build/models.py:212 stock/models.py:432
+msgid "Batch Code"
+msgstr ""
+
+#: build/models.py:216
+msgid "Batch code for this build output"
+msgstr ""
+
+#: build/models.py:219 order/models.py:105 part/models.py:882
+#: part/templates/part/detail.html:126 templates/js/order.js:293
+msgid "Creation Date"
+msgstr ""
+
+#: build/models.py:223 order/models.py:451
+msgid "Target completion date"
+msgstr ""
+
+#: build/models.py:227 order/models.py:218 templates/js/build.js:788
+msgid "Completion Date"
+msgstr ""
+
+#: build/models.py:233
+msgid "completed by"
+msgstr ""
+
+#: build/models.py:241
+msgid "Issued by"
+msgstr ""
+
+#: build/models.py:242
+msgid "User who issued this build order"
+msgstr ""
+
+#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/templates/build/detail.html:105 order/models.py:119
+#: order/templates/order/order_base.html:138
+#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: report/templates/report/inventree_build_order_base.html:159
+msgid "Responsible"
+msgstr ""
+
+#: build/models.py:251
+msgid "User responsible for this build order"
+msgstr ""
+
+#: build/models.py:256 build/templates/build/detail.html:91
+#: company/templates/company/manufacturer_part_base.html:79
+#: company/templates/company/manufacturer_part_detail.html:28
+#: company/templates/company/supplier_part_base.html:78
+#: company/templates/company/supplier_part_detail.html:28
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
+#: stock/models.py:426 stock/templates/stock/item_base.html:334
+msgid "External Link"
+msgstr ""
+
+#: build/models.py:257 part/models.py:744 stock/models.py:428
+msgid "Link to external URL"
+msgstr ""
+
+#: build/models.py:261 build/templates/build/navbar.html:53
+#: company/models.py:135 company/models.py:501
+#: company/templates/company/navbar.html:70
+#: company/templates/company/navbar.html:73 order/models.py:123
+#: order/models.py:597 order/templates/order/po_navbar.html:29
+#: order/templates/order/po_navbar.html:32
+#: order/templates/order/purchase_order_detail.html:234
+#: order/templates/order/sales_order_detail.html:264
+#: order/templates/order/so_navbar.html:33
+#: order/templates/order/so_navbar.html:36 part/models.py:871
+#: part/templates/part/navbar.html:128
+#: report/templates/report/inventree_build_order_base.html:173
+#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
+#: stock/models.py:498 stock/models.py:1558 stock/models.py:1668
+#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
+#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+msgid "Notes"
+msgstr ""
+
+#: build/models.py:262
+msgid "Extra build notes"
+msgstr ""
+
+#: build/models.py:739
+msgid "No build output specified"
+msgstr ""
+
+#: build/models.py:742
+msgid "Build output is already completed"
+msgstr ""
+
+#: build/models.py:745
+msgid "Build output does not match Build Order"
+msgstr ""
+
+#: build/models.py:838
+msgid "Completed build output"
+msgstr ""
+
+#: build/models.py:1118
+msgid "BuildItem must be unique for build, stock_item and install_into"
+msgstr ""
+
+#: build/models.py:1143
+msgid ""
+"Build item must specify a build output, as master part is marked as trackable"
+msgstr ""
+
+#: build/models.py:1147
+#, python-brace-format
+msgid "Selected stock item not found in BOM for part '{p}'"
+msgstr ""
+
+#: build/models.py:1151
+#, python-brace-format
+msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
+msgstr ""
+
+#: build/models.py:1158 order/models.py:758
+msgid "StockItem is over-allocated"
+msgstr ""
+
+#: build/models.py:1162 order/models.py:761
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1166
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1206 stock/templates/stock/item_base.html:306
+#: templates/InvenTree/search.html:183 templates/js/build.js:714
+#: templates/navbar.html:29
+msgid "Build"
+msgstr ""
+
+#: build/models.py:1207
+msgid "Build to allocate parts"
+msgstr ""
+
+#: build/models.py:1214 part/templates/part/allocation.html:18
+#: part/templates/part/allocation.html:24
+#: part/templates/part/allocation.html:31
+#: part/templates/part/allocation.html:49
+#: stock/templates/stock/item_base.html:8
+#: stock/templates/stock/item_base.html:93
+#: stock/templates/stock/item_base.html:328
+#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
+#: templates/js/stock.js:1004 templates/js/stock.js:1262
+msgid "Stock Item"
+msgstr ""
+
+#: build/models.py:1215
+msgid "Source stock item"
+msgstr ""
+
+#: build/models.py:1228
+msgid "Stock quantity to allocate to build"
+msgstr ""
+
+#: build/models.py:1236
+msgid "Install into"
+msgstr ""
+
+#: build/models.py:1237
+msgid "Destination stock item"
+msgstr ""
+
+#: build/templates/build/allocate.html:7
+msgid "Allocate Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:15
+msgid "Allocate Stock to Build"
+msgstr ""
+
+#: build/templates/build/allocate.html:22
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/allocate.html:23
+msgid "Auto Allocate"
+msgstr ""
+
+#: build/templates/build/allocate.html:25 templates/js/build.js:646
+msgid "Unallocate stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794
+msgid "Unallocate Stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:29
+msgid "Order required parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:30
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32 order/views.py:794
+#: part/templates/part/category.html:127
+msgid "Order Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:36
+msgid "Untracked stock has been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:40
+msgid "Untracked stock has not been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:47
+msgid "This Build Order does not have any associated untracked BOM items"
+msgstr ""
+
+#: build/templates/build/allocation_card.html:21
+#: build/templates/build/complete_output.html:46
+#: order/templates/order/sales_order_detail.html:75
+#: order/templates/order/sales_order_detail.html:157
+#: report/templates/report/inventree_test_report_base.html:75
+#: stock/models.py:420 stock/templates/stock/item_base.html:238
+#: templates/js/build.js:474
+msgid "Serial Number"
+msgstr ""
+
+#: build/templates/build/attachments.html:12
+#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
+#: order/templates/order/po_navbar.html:26
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
+#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: stock/templates/stock/navbar.html:50
+msgid "Attachments"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:9
+msgid "Automatically Allocate Stock"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:10
+msgid ""
+"The following stock items will be allocated to the specified build output"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:37
+msgid "No stock items found that can be automatically allocated to this build"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:39
+msgid "Stock items will have to be manually allocated"
+msgstr ""
+
+#: build/templates/build/build_base.html:16
+#, python-format
+msgid "This Build Order is allocated to Sales Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:22
+#, python-format
+msgid "This Build Order is a child of Build Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:31
+msgid "Build Order is ready to mark as completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:36
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr ""
+
+#: build/templates/build/build_base.html:41
+msgid "Required build quantity has not yet been completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:46
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:65
+#: company/templates/company/company_base.html:40
+#: company/templates/company/manufacturer_part_base.html:25
+#: company/templates/company/supplier_part_base.html:26
+#: order/templates/order/order_base.html:26
+#: order/templates/order/sales_order_base.html:35
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
+#: stock/templates/stock/item_base.html:118
+#: stock/templates/stock/location.html:31
+msgid "Admin view"
+msgstr ""
+
+#: build/templates/build/build_base.html:71
+#: build/templates/build/build_base.html:140
+#: order/templates/order/order_base.html:32
+#: order/templates/order/order_base.html:86
+#: order/templates/order/sales_order_base.html:41
+#: order/templates/order/sales_order_base.html:86
+#: templates/js/table_filters.js:240 templates/js/table_filters.js:259
+#: templates/js/table_filters.js:276
+msgid "Overdue"
+msgstr ""
+
+#: build/templates/build/build_base.html:80
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:84
+msgid "Print Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:90
+#: build/templates/build/build_base.html:215
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:95
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:99
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:101
+#: build/templates/build/build_base.html:199 build/views.py:57
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:114
+#: build/templates/build/detail.html:11
+msgid "Build Details"
+msgstr ""
+
+#: build/templates/build/build_base.html:140
+#, python-format
+msgid "This build was due on %(target)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:147
+#: build/templates/build/detail.html:64
+msgid "Progress"
+msgstr ""
+
+#: build/templates/build/build_base.html:160
+#: build/templates/build/detail.html:84 order/models.py:667
+#: order/templates/order/sales_order_base.html:9
+#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_ship.html:25
+#: part/templates/part/allocation.html:30
+#: report/templates/report/inventree_build_order_base.html:136
+#: report/templates/report/inventree_so_report.html:77
+#: stock/templates/stock/item_base.html:268 templates/js/order.js:245
+msgid "Sales Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:167
+#: build/templates/build/detail.html:98
+#: report/templates/report/inventree_build_order_base.html:153
+msgid "Issued By"
+msgstr ""
+
+#: build/templates/build/build_base.html:207
+msgid "Incomplete Outputs"
+msgstr ""
+
+#: build/templates/build/build_base.html:208
+msgid "Build Order cannot be completed as incomplete build outputs remain"
+msgstr ""
+
+#: build/templates/build/build_children.html:10
+#: build/templates/build/navbar.html:36
+msgid "Child Build Orders"
+msgstr ""
+
+#: build/templates/build/build_output.html:15
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output.html:22
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:23
+msgid "Create New Output"
+msgstr ""
+
+#: build/templates/build/build_output.html:36
+msgid "Create a new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:37
+msgid "No incomplete build outputs remain."
+msgstr ""
+
+#: build/templates/build/build_output.html:38
+msgid "Create a new build output using the button above"
+msgstr ""
+
+#: build/templates/build/build_output.html:49
+msgid "Completed Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:7
+msgid "The Bill of Materials contains trackable parts"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:8
+msgid "Build outputs must be generated individually."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:9
+msgid "Multiple build outputs will be created based on the quantity specified."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:15
+msgid "Trackable parts can have serial numbers specified"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:16
+msgid "Enter serial numbers to generate multiple single build outputs"
+msgstr ""
+
+#: build/templates/build/cancel.html:5
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: build/templates/build/complete.html:8
+msgid "Build Order is complete"
+msgstr ""
+
+#: build/templates/build/complete.html:12
+msgid "Build Order is incomplete"
+msgstr ""
+
+#: build/templates/build/complete.html:15
+msgid "Incompleted build outputs remain"
+msgstr ""
+
+#: build/templates/build/complete.html:18
+msgid "Required build quantity has not been completed"
+msgstr ""
+
+#: build/templates/build/complete.html:21
+msgid "Required stock has not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:10
+msgid "Stock allocation is complete for this output"
+msgstr ""
+
+#: build/templates/build/complete_output.html:14
+msgid "Stock allocation is incomplete"
+msgstr ""
+
+#: build/templates/build/complete_output.html:20
+msgid "tracked parts have not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:41
+msgid "The following items will be created"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:7
+msgid "Select a stock item to allocate to the selected build output"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:11
+#, python-format
+msgid ""
+"The allocated stock will be installed into the following build output:
"
+"%(output)s"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:17
+#, python-format
+msgid "No stock available for %(part)s"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:8
+msgid "Are you sure you want to unallocate this stock?"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:11
+msgid "The selected stock will be unallocated from the build output"
+msgstr ""
+
+#: build/templates/build/detail.html:35
+msgid "Stock Source"
+msgstr ""
+
+#: build/templates/build/detail.html:40
+msgid "Stock can be taken from any available location."
+msgstr ""
+
+#: build/templates/build/detail.html:46 stock/forms.py:169 stock/forms.py:375
+msgid "Destination"
+msgstr ""
+
+#: build/templates/build/detail.html:53
+msgid "Destination location not specified"
+msgstr ""
+
+#: build/templates/build/detail.html:70
+#: stock/templates/stock/item_base.html:292 templates/js/stock.js:636
+#: templates/js/stock.js:1286 templates/js/table_filters.js:107
+#: templates/js/table_filters.js:201
+msgid "Batch"
+msgstr ""
+
+#: build/templates/build/detail.html:116
+#: order/templates/order/order_base.html:111
+#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+msgid "Created"
+msgstr ""
+
+#: build/templates/build/detail.html:127
+msgid "No target date set"
+msgstr ""
+
+#: build/templates/build/detail.html:132 templates/js/build.js:756
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/detail.html:136
+msgid "Build not complete"
+msgstr ""
+
+#: build/templates/build/edit_build_item.html:7
+msgid "Alter the quantity of stock allocated to the build output"
+msgstr ""
+
+#: build/templates/build/index.html:28 build/views.py:667
+msgid "New Build Order"
+msgstr ""
+
+#: build/templates/build/index.html:37 build/templates/build/index.html:38
+msgid "Print Build Orders"
+msgstr ""
+
+#: build/templates/build/index.html:43
+#: order/templates/order/purchase_orders.html:27
+#: order/templates/order/sales_orders.html:27
+msgid "Display calendar view"
+msgstr ""
+
+#: build/templates/build/index.html:46
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:30
+msgid "Display list view"
+msgstr ""
+
+#: build/templates/build/navbar.html:12
+msgid "Build Order Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:15
+#: company/templates/company/navbar.html:15
+#: order/templates/order/po_navbar.html:14
+#: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15
+msgid "Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24
+#: build/views.py:91
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32
+msgid "Build Outputs"
+msgstr ""
+
+#: build/templates/build/navbar.html:39
+msgid "Child Builds"
+msgstr ""
+
+#: build/templates/build/navbar.html:50
+msgid "Build Order Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:12
+msgid "Build Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:14 company/templates/company/notes.html:13
+#: order/templates/order/order_notes.html:15
+#: order/templates/order/sales_order_notes.html:16
+#: part/templates/part/notes.html:14 stock/templates/stock/item_notes.html:15
+msgid "Edit notes"
+msgstr ""
+
+#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
+#: order/templates/order/order_notes.html:27
+#: order/templates/order/sales_order_notes.html:29
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:470
+#: stock/templates/stock/item_notes.html:26
+msgid "Save"
+msgstr ""
+
+#: build/templates/build/unallocate.html:10
+msgid "Are you sure you wish to unallocate all stock for this build?"
+msgstr ""
+
+#: build/templates/build/unallocate.html:12
+msgid "All incomplete stock allocations will be removed from the build"
+msgstr ""
+
+#: build/views.py:77
+msgid "Build was cancelled"
+msgstr ""
+
+#: build/views.py:138
+msgid "Allocated stock to build output"
+msgstr ""
+
+#: build/views.py:150
+msgid "Create Build Output"
+msgstr ""
+
+#: build/views.py:173 stock/models.py:969 stock/views.py:1789
+msgid "Serial numbers already exist"
+msgstr ""
+
+#: build/views.py:182
+msgid "Serial numbers required for trackable build output"
+msgstr ""
+
+#: build/views.py:248
+msgid "Delete Build Output"
+msgstr ""
+
+#: build/views.py:269 build/views.py:359
+msgid "Confirm unallocation of build stock"
+msgstr ""
+
+#: build/views.py:270 build/views.py:360 stock/views.py:425
+msgid "Check the confirmation box"
+msgstr ""
+
+#: build/views.py:282
+msgid "Build output does not match build"
+msgstr ""
+
+#: build/views.py:284 build/views.py:485
+msgid "Build output must be specified"
+msgstr ""
+
+#: build/views.py:296
+msgid "Build output deleted"
+msgstr ""
+
+#: build/views.py:394
+msgid "Complete Build Order"
+msgstr ""
+
+#: build/views.py:400
+msgid "Build order cannot be completed - incomplete outputs remain"
+msgstr ""
+
+#: build/views.py:411
+msgid "Completed build order"
+msgstr ""
+
+#: build/views.py:427
+msgid "Complete Build Output"
+msgstr ""
+
+#: build/views.py:469
+msgid "Invalid stock status value selected"
+msgstr ""
+
+#: build/views.py:476
+msgid "Quantity to complete cannot exceed build output quantity"
+msgstr ""
+
+#: build/views.py:482
+msgid "Confirm completion of incomplete build"
+msgstr ""
+
+#: build/views.py:581
+msgid "Build output completed"
+msgstr ""
+
+#: build/views.py:721
+msgid "Created new build"
+msgstr ""
+
+#: build/views.py:742
+msgid "Edit Build Order Details"
+msgstr ""
+
+#: build/views.py:775
+msgid "Edited build"
+msgstr ""
+
+#: build/views.py:784
+msgid "Delete Build Order"
+msgstr ""
+
+#: build/views.py:799
+msgid "Removed parts from build allocation"
+msgstr ""
+
+#: build/views.py:811
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: build/views.py:854
+msgid "Item must be currently in stock"
+msgstr ""
+
+#: build/views.py:860
+msgid "Stock item is over-allocated"
+msgstr ""
+
+#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575
+#: templates/js/build.js:838 templates/js/build.js:1021
+msgid "Available"
+msgstr ""
+
+#: build/views.py:863
+msgid "Stock item must be selected"
+msgstr ""
+
+#: build/views.py:1026
+msgid "Edit Stock Allocation"
+msgstr ""
+
+#: build/views.py:1030
+msgid "Updated Build Item"
+msgstr ""
+
+#: build/views.py:1059
+msgid "Add Build Order Attachment"
+msgstr ""
+
+#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172
+#: stock/views.py:277
+msgid "Added attachment"
+msgstr ""
+
+#: build/views.py:1108 order/views.py:189 order/views.py:210
+msgid "Edit Attachment"
+msgstr ""
+
+#: build/views.py:1118 order/views.py:193 order/views.py:214
+msgid "Attachment updated"
+msgstr ""
+
+#: build/views.py:1128 order/views.py:229 order/views.py:243
+msgid "Delete Attachment"
+msgstr ""
+
+#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333
+msgid "Deleted attachment"
+msgstr ""
+
+#: common/models.py:56
+msgid "InvenTree Instance Name"
+msgstr ""
+
+#: common/models.py:58
+msgid "String descriptor for the server instance"
+msgstr ""
+
+#: common/models.py:62
+msgid "Use instance name"
+msgstr ""
+
+#: common/models.py:63
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:69 company/models.py:97 company/models.py:98
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:70
+msgid "Internal company name"
+msgstr ""
+
+#: common/models.py:75
+msgid "Base URL"
+msgstr ""
+
+#: common/models.py:76
+msgid "Base URL for server instance"
+msgstr ""
+
+#: common/models.py:82
+msgid "Default Currency"
+msgstr ""
+
+#: common/models.py:83
+msgid "Default currency"
+msgstr ""
+
+#: common/models.py:89
+msgid "Download from URL"
+msgstr ""
+
+#: common/models.py:90
+msgid "Allow download of remote images and files from external URL"
+msgstr ""
+
+#: common/models.py:96
+msgid "Barcode Support"
+msgstr ""
+
+#: common/models.py:97
+msgid "Enable barcode scanner support"
+msgstr ""
+
+#: common/models.py:103
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:104
+msgid "Regular expression pattern for matching Part IPN"
+msgstr ""
+
+#: common/models.py:108
+msgid "Allow Duplicate IPN"
+msgstr ""
+
+#: common/models.py:109
+msgid "Allow multiple parts to share the same IPN"
+msgstr ""
+
+#: common/models.py:115
+msgid "Allow Editing IPN"
+msgstr ""
+
+#: common/models.py:116
+msgid "Allow changing the IPN value while editing a part"
+msgstr ""
+
+#: common/models.py:122
+msgid "Copy Part BOM Data"
+msgstr ""
+
+#: common/models.py:123
+msgid "Copy BOM data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:129
+msgid "Copy Part Parameter Data"
+msgstr ""
+
+#: common/models.py:130
+msgid "Copy parameter data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:136
+msgid "Copy Part Test Data"
+msgstr ""
+
+#: common/models.py:137
+msgid "Copy test data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:143
+msgid "Copy Category Parameter Templates"
+msgstr ""
+
+#: common/models.py:144
+msgid "Copy category parameter templates when creating a part"
+msgstr ""
+
+#: common/models.py:150
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:151
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:157 part/models.py:2079 part/templates/part/detail.html:160
+#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:24
+#: templates/js/table_filters.js:310
+msgid "Template"
+msgstr ""
+
+#: common/models.py:158
+msgid "Parts are templates by default"
+msgstr ""
+
+#: common/models.py:164 part/models.py:834 part/templates/part/detail.html:170
+#: templates/js/table_filters.js:123 templates/js/table_filters.js:322
+msgid "Assembly"
+msgstr ""
+
+#: common/models.py:165
+msgid "Parts can be assembled from other components by default"
+msgstr ""
+
+#: common/models.py:171 part/models.py:840 part/templates/part/detail.html:180
+#: templates/js/table_filters.js:326
+msgid "Component"
+msgstr ""
+
+#: common/models.py:172
+msgid "Parts can be used as sub-components by default"
+msgstr ""
+
+#: common/models.py:178 part/models.py:851 part/templates/part/detail.html:200
+msgid "Purchaseable"
+msgstr ""
+
+#: common/models.py:179
+msgid "Parts are purchaseable by default"
+msgstr ""
+
+#: common/models.py:185 part/models.py:856 part/templates/part/detail.html:210
+#: templates/js/table_filters.js:334
+msgid "Salable"
+msgstr ""
+
+#: common/models.py:186
+msgid "Parts are salable by default"
+msgstr ""
+
+#: common/models.py:192 part/models.py:846 part/templates/part/detail.html:190
+#: templates/js/table_filters.js:32 templates/js/table_filters.js:338
+msgid "Trackable"
+msgstr ""
+
+#: common/models.py:193
+msgid "Parts are trackable by default"
+msgstr ""
+
+#: common/models.py:199 part/models.py:866 part/templates/part/detail.html:150
+#: templates/js/table_filters.js:28
+msgid "Virtual"
+msgstr ""
+
+#: common/models.py:200
+msgid "Parts are virtual by default"
+msgstr ""
+
+#: common/models.py:206
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:207
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:213
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:214
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:220
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:221
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:231
+msgid "Test Reports"
+msgstr ""
+
+#: common/models.py:232
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:238
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:239
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:245
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:246
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:252
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:253
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:255 part/templates/part/detail.html:121
+msgid "days"
+msgstr ""
+
+#: common/models.py:260
+msgid "Build Expired Stock"
+msgstr ""
+
+#: common/models.py:261
+msgid "Allow building with expired stock"
+msgstr ""
+
+#: common/models.py:267
+msgid "Stock Ownership Control"
+msgstr ""
+
+#: common/models.py:268
+msgid "Enable ownership control over stock locations and items"
+msgstr ""
+
+#: common/models.py:274
+msgid "Group by Part"
+msgstr ""
+
+#: common/models.py:275
+msgid "Group stock items by part reference in table views"
+msgstr ""
+
+#: common/models.py:281
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:282
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:288
+msgid "Build Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:289
+msgid "Prefix value for build order reference"
+msgstr ""
+
+#: common/models.py:294
+msgid "Build Order Reference Regex"
+msgstr ""
+
+#: common/models.py:295
+msgid "Regular expression pattern for matching build order reference"
+msgstr ""
+
+#: common/models.py:299
+msgid "Sales Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:300
+msgid "Prefix value for sales order reference"
+msgstr ""
+
+#: common/models.py:305
+msgid "Purchase Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:306
+msgid "Prefix value for purchase order reference"
+msgstr ""
+
+#: common/models.py:529
+msgid "Settings key (must be unique - case insensitive"
+msgstr ""
+
+#: common/models.py:531
+msgid "Settings value"
+msgstr ""
+
+#: common/models.py:566
+msgid "Must be an integer value"
+msgstr ""
+
+#: common/models.py:589
+msgid "Value must be a boolean value"
+msgstr ""
+
+#: common/models.py:600
+msgid "Value must be an integer value"
+msgstr ""
+
+#: common/models.py:623
+msgid "Key string must be unique"
+msgstr ""
+
+#: common/models.py:704 company/forms.py:177
+msgid "Price break quantity"
+msgstr ""
+
+#: common/models.py:712 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+msgid "Price"
+msgstr ""
+
+#: common/models.py:713
+msgid "Unit price at specified quantity"
+msgstr ""
+
+#: common/models.py:736
+msgid "Default"
+msgstr ""
+
+#: common/templates/common/edit_setting.html:11
+msgid "Current value"
+msgstr ""
+
+#: common/views.py:25
+msgid "Change Setting"
+msgstr ""
+
+#: common/views.py:94
+msgid "Supplied value is not allowed"
+msgstr ""
+
+#: common/views.py:103
+msgid "Supplied value must be a boolean"
+msgstr ""
+
+#: company/forms.py:38 company/models.py:145
+#: company/templates/company/detail.html:42
+msgid "Currency"
+msgstr ""
+
+#: company/forms.py:39 company/models.py:147
+msgid "Default currency used for this company"
+msgstr ""
+
+#: company/forms.py:77 part/forms.py:46
+msgid "URL"
+msgstr ""
+
+#: company/forms.py:78 part/forms.py:47
+msgid "Image URL"
+msgstr ""
+
+#: company/forms.py:118
+msgid "Single Price"
+msgstr ""
+
+#: company/forms.py:120
+msgid "Single quantity price"
+msgstr ""
+
+#: company/forms.py:128 company/models.py:324
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/forms.py:134 company/models.py:331
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/forms.py:136 company/models.py:330
+#: company/templates/company/manufacturer_part_base.html:89
+#: company/templates/company/manufacturer_part_detail.html:26
+#: company/templates/company/supplier_part_base.html:101
+#: company/templates/company/supplier_part_detail.html:35
+#: order/templates/order/purchase_order_detail.html:183 part/bom.py:171
+#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:102
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:103
+msgid "Description of the company"
+msgstr ""
+
+#: company/models.py:107 company/templates/company/company_base.html:70
+#: company/templates/company/detail.html:33 templates/js/company.js:60
+msgid "Website"
+msgstr ""
+
+#: company/models.py:107
+msgid "Company website URL"
+msgstr ""
+
+#: company/models.py:110 company/templates/company/company_base.html:77
+msgid "Address"
+msgstr ""
+
+#: company/models.py:111
+msgid "Company address"
+msgstr ""
+
+#: company/models.py:114
+msgid "Phone number"
+msgstr ""
+
+#: company/models.py:115
+msgid "Contact phone number"
+msgstr ""
+
+#: company/models.py:118 company/templates/company/company_base.html:91
+msgid "Email"
+msgstr ""
+
+#: company/models.py:118
+msgid "Contact email address"
+msgstr ""
+
+#: company/models.py:121 company/templates/company/company_base.html:98
+msgid "Contact"
+msgstr ""
+
+#: company/models.py:122
+msgid "Point of contact"
+msgstr ""
+
+#: company/models.py:124 company/models.py:336 company/models.py:488
+#: order/models.py:103 part/models.py:743
+#: report/templates/report/inventree_build_order_base.html:165
+#: stock/models.py:1560 templates/js/company.js:188 templates/js/company.js:318
+#: templates/js/part.js:431
+msgid "Link"
+msgstr ""
+
+#: company/models.py:124
+msgid "Link to external company information"
+msgstr ""
+
+#: company/models.py:132 part/models.py:753
+msgid "Image"
+msgstr ""
+
+#: company/models.py:137
+msgid "is customer"
+msgstr ""
+
+#: company/models.py:137
+msgid "Do you sell items to this company?"
+msgstr ""
+
+#: company/models.py:139
+msgid "is supplier"
+msgstr ""
+
+#: company/models.py:139
+msgid "Do you purchase items from this company?"
+msgstr ""
+
+#: company/models.py:141
+msgid "is manufacturer"
+msgstr ""
+
+#: company/models.py:141
+msgid "Does this company manufacture parts?"
+msgstr ""
+
+#: company/models.py:308 company/models.py:459 stock/models.py:373
+#: stock/templates/stock/item_base.html:224
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:312 company/models.py:463 order/views.py:1372
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:323 company/templates/company/detail.html:57
+#: company/templates/company/manufacturer_part_base.html:85
+#: company/templates/company/manufacturer_part_detail.html:25
+#: company/templates/company/supplier_part_base.html:94
+#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
+#: part/bom.py:241 stock/templates/stock/item_base.html:341
+#: templates/js/company.js:44 templates/js/company.js:165
+#: templates/js/company.js:289
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:337
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:343
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:469 company/templates/company/detail.html:62
+#: company/templates/company/supplier_part_base.html:84
+#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
+#: order/templates/order/order_base.html:92
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
+#: part/bom.py:286 stock/templates/stock/item_base.html:353
+#: templates/js/company.js:48 templates/js/company.js:263
+#: templates/js/order.js:170
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:470
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:475 company/templates/company/supplier_part_base.html:88
+#: company/templates/company/supplier_part_detail.html:26
+#: order/templates/order/purchase_order_detail.html:174 part/bom.py:176
+#: part/bom.py:287
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:476
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:482
+#: company/templates/company/manufacturer_part_base.html:6
+#: company/templates/company/manufacturer_part_base.html:19
+#: stock/templates/stock/item_base.html:346
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:483
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:489
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:495
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:500 company/templates/company/supplier_part_base.html:115
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2190
+#: report/templates/report/inventree_po_report.html:93
+#: report/templates/report/inventree_so_report.html:93
+msgid "Note"
+msgstr ""
+
+#: company/models.py:504
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:504
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:506 company/templates/company/supplier_part_base.html:108
+#: stock/models.py:397 stock/templates/stock/item_base.html:299
+#: templates/js/stock.js:667
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:506
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:508
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:508
+msgid "Order multiple"
+msgstr ""
+
+#: company/templates/company/assigned_stock.html:10
+#: company/templates/company/navbar.html:62
+#: company/templates/company/navbar.html:65 templates/js/build.js:467
+msgid "Assigned Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:9
+#: company/templates/company/company_base.html:35
+#: templates/InvenTree/search.html:304 templates/js/company.js:33
+msgid "Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:25
+#: part/templates/part/part_thumb.html:21
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
+#: part/templates/part/part_thumb.html:23
+msgid "Download image from URL"
+msgstr ""
+
+#: company/templates/company/company_base.html:46 order/views.py:306
+msgid "Create Purchase Order"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+msgid "Edit company information"
+msgstr ""
+
+#: company/templates/company/company_base.html:56 company/views.py:326
+msgid "Delete Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:64
+#: company/templates/company/detail.html:10
+#: company/templates/company/navbar.html:12
+msgid "Company Details"
+msgstr ""
+
+#: company/templates/company/company_base.html:84
+msgid "Phone"
+msgstr ""
+
+#: company/templates/company/delete.html:7
+#, python-format
+msgid "Are you sure you want to delete company '%(name)s'?"
+msgstr ""
+
+#: company/templates/company/delete.html:12
+#, python-format
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
+"If this supplier is deleted, these supplier part entries will also be "
+"deleted."
+msgstr ""
+
+#: company/templates/company/detail.html:21
+msgid "Company Name"
+msgstr ""
+
+#: company/templates/company/detail.html:36
+msgid "No website specified"
+msgstr ""
+
+#: company/templates/company/detail.html:45
+msgid "Uses default currency"
+msgstr ""
+
+#: company/templates/company/detail.html:67 order/models.py:440
+#: order/templates/order/sales_order_base.html:92 stock/models.py:415
+#: stock/models.py:416 stock/templates/stock/item_base.html:251
+#: templates/js/company.js:40 templates/js/order.js:267
+msgid "Customer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:11
+#: templates/InvenTree/search.html:149
+msgid "Manufacturer Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:22
+msgid "Create new manufacturer part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:23
+#: part/templates/part/manufacturer.html:19
+msgid "New Manufacturer Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:28
+#: company/templates/company/detail_supplier_part.html:27
+#: company/templates/company/manufacturer_part_suppliers.html:20
+#: part/templates/part/category.html:122
+#: part/templates/part/manufacturer.html:22
+#: part/templates/part/supplier.html:20
+msgid "Options"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32
+#: part/templates/part/category.html:127
+msgid "Order parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:66
+#: company/templates/company/detail_supplier_part.html:66
+#: part/templates/part/bom.html:159 part/templates/part/category.html:118
+#: templates/js/stock.js:1157
+msgid "New Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:67
+#: company/templates/company/detail_supplier_part.html:67
+msgid "Create new Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:72
+#: company/views.py:71 part/templates/part/manufacturer.html:52
+#: part/templates/part/supplier.html:56
+msgid "New Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:73
+#: company/views.py:284
+msgid "Create new Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:10
+msgid "Supplier Stock"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:37
+#: company/templates/company/supplier_part_stock.html:34
+#: part/templates/part/category.html:114 part/templates/part/category.html:128
+#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163
+msgid "Export"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:11
+#: company/templates/company/manufacturer_part_navbar.html:11
+#: company/templates/company/manufacturer_part_suppliers.html:10
+#: templates/InvenTree/search.html:164
+msgid "Supplier Parts"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:21
+#: order/templates/order/order_wizard/select_parts.html:42
+#: order/templates/order/purchase_order_detail.html:75
+msgid "Create new supplier part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:22
+#: company/templates/company/manufacturer_part_suppliers.html:17
+#: order/templates/order/purchase_order_detail.html:74
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1163
+msgid "New Supplier Part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:72
+#: company/templates/company/manufacturer_part_suppliers.html:47
+#: company/views.py:64 order/templates/order/purchase_orders.html:183
+#: part/templates/part/supplier.html:50
+msgid "New Supplier"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:73 company/views.py:281
+#: order/templates/order/purchase_orders.html:184
+msgid "Create new Supplier"
+msgstr ""
+
+#: company/templates/company/index.html:8
+msgid "Supplier List"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:36
+#: company/templates/company/supplier_part_base.html:36
+#: company/templates/company/supplier_part_orders.html:17
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+msgid "Order part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:41
+msgid "Edit manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:45
+msgid "Delete manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:57
+#: company/templates/company/manufacturer_part_detail.html:10
+msgid "Manufacturer Part Details"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:62
+#: company/templates/company/manufacturer_part_detail.html:18
+#: company/templates/company/supplier_part_base.html:61
+#: company/templates/company/supplier_part_detail.html:18
+msgid "Internal Part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:6
+msgid "Are you sure you want to delete the following Manufacturer Parts?"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:36
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this manufacturer part. If you "
+"delete it, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:14
+#: company/views.py:63 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: templates/navbar.html:35
+msgid "Suppliers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:19
+msgid "Manufacturer Part Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:22
+#: company/templates/company/navbar.html:41
+#: company/templates/company/supplier_part_navbar.html:15
+#: part/templates/part/navbar.html:36 stock/api.py:51
+#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
+#: templates/InvenTree/search.html:232
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:26
+msgid "Manufacturer Part Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:29
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/supplier.html:22
+msgid "Delete supplier parts"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44
+#: part/templates/part/related.html:44 part/templates/part/supplier.html:22
+#: stock/views.py:1002 users/models.py:184
+msgid "Delete"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:48
+#: part/templates/part/supplier.html:51
+msgid "Create new supplier"
+msgstr ""
+
+#: company/templates/company/navbar.html:20
+#: company/templates/company/navbar.html:23
+msgid "Manufactured Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:29
+#: company/templates/company/navbar.html:32
+msgid "Supplied Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:33
+#: stock/templates/stock/location.html:107
+#: stock/templates/stock/location.html:122
+#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location_navbar.html:22
+#: stock/templates/stock/location_navbar.html:29
+#: templates/InvenTree/search.html:198 templates/js/stock.js:968
+#: templates/stats.html:72 templates/stats.html:81 users/models.py:40
+msgid "Stock Items"
+msgstr ""
+
+#: company/templates/company/navbar.html:47
+#: company/templates/company/navbar.html:56
+#: company/templates/company/navbar.html:59
+#: company/templates/company/sales_orders.html:11
+#: order/templates/order/sales_orders.html:8
+#: order/templates/order/sales_orders.html:13
+#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
+#: templates/InvenTree/search.html:345
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: users/models.py:43
+msgid "Sales Orders"
+msgstr ""
+
+#: company/templates/company/navbar.html:50
+#: company/templates/company/purchase_orders.html:10
+#: order/templates/order/purchase_orders.html:8
+#: order/templates/order/purchase_orders.html:13
+#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
+#: templates/InvenTree/search.html:325
+#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: users/models.py:42
+msgid "Purchase Orders"
+msgstr ""
+
+#: company/templates/company/notes.html:11
+msgid "Company Notes"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:18
+#: order/templates/order/purchase_orders.html:20
+msgid "Create new purchase order"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:19
+#: order/templates/order/purchase_orders.html:21
+msgid "New Purchase Order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:19
+#: order/templates/order/sales_orders.html:20
+msgid "Create new sales order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:20
+#: order/templates/order/sales_orders.html:21
+msgid "New Sales Order"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:7
+#: company/templates/company/supplier_part_base.html:20 stock/models.py:382
+#: stock/templates/stock/item_base.html:358 templates/js/company.js:279
+msgid "Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:40
+msgid "Edit supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:44
+msgid "Delete supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:56
+#: company/templates/company/supplier_part_detail.html:10
+msgid "Supplier Part Details"
+msgstr ""
+
+#: company/templates/company/supplier_part_delete.html:5
+msgid "Are you sure you want to delete the following Supplier Parts?"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:12
+#: company/templates/company/supplier_part_stock.html:10
+msgid "Supplier Part Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:19
+#: company/templates/company/supplier_part_orders.html:10
+msgid "Supplier Part Orders"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:26
+msgid "Supplier Part Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:29
+msgid "Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_orders.html:18
+#: part/templates/part/orders.html:18
+msgid "Order Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:11
+msgid "Pricing Information"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
+#: part/templates/part/sale_prices.html:17 part/views.py:2624
+msgid "Add Price Break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:38
+#: part/templates/part/sale_prices.html:46
+msgid "No price break information found"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:89
+#: part/templates/part/sale_prices.html:97
+msgid "Edit price break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:90
+#: part/templates/part/sale_prices.html:98
+msgid "Delete price break"
+msgstr ""
+
+#: company/views.py:70 part/templates/part/navbar.html:72
+#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: templates/navbar.html:36
+msgid "Manufacturers"
+msgstr ""
+
+#: company/views.py:77 templates/InvenTree/search.html:336
+#: templates/navbar.html:45
+msgid "Customers"
+msgstr ""
+
+#: company/views.py:78 order/templates/order/sales_orders.html:185
+msgid "New Customer"
+msgstr ""
+
+#: company/views.py:86
+msgid "Companies"
+msgstr ""
+
+#: company/views.py:87
+msgid "New Company"
+msgstr ""
+
+#: company/views.py:169 part/views.py:848
+msgid "Download Image"
+msgstr ""
+
+#: company/views.py:198 part/views.py:880
+msgid "Image size exceeds maximum allowable size for download"
+msgstr ""
+
+#: company/views.py:214 part/views.py:896
+msgid "Supplied URL is not a valid image file"
+msgstr ""
+
+#: company/views.py:243
+msgid "Update Company Image"
+msgstr ""
+
+#: company/views.py:249
+msgid "Updated company image"
+msgstr ""
+
+#: company/views.py:259
+msgid "Edit Company"
+msgstr ""
+
+#: company/views.py:264
+msgid "Edited company information"
+msgstr ""
+
+#: company/views.py:287 order/templates/order/sales_orders.html:186
+msgid "Create new Customer"
+msgstr ""
+
+#: company/views.py:289
+msgid "Create new Company"
+msgstr ""
+
+#: company/views.py:316
+msgid "Created new company"
+msgstr ""
+
+#: company/views.py:332
+msgid "Company was deleted"
+msgstr ""
+
+#: company/views.py:357
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: company/views.py:366
+msgid "Create New Manufacturer Part"
+msgstr ""
+
+#: company/views.py:440
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: company/views.py:528
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: company/views.py:578 templates/js/stock.js:1164
+msgid "Create new Supplier Part"
+msgstr ""
+
+#: company/views.py:722
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: company/views.py:799 part/views.py:2628
+msgid "Added new price break"
+msgstr ""
+
+#: company/views.py:855 part/views.py:2672
+msgid "Edit Price Break"
+msgstr ""
+
+#: company/views.py:870 part/views.py:2686
+msgid "Delete Price Break"
+msgstr ""
+
+#: label/api.py:56 report/api.py:201
+msgid "No valid objects provided to template"
+msgstr ""
+
+#: label/models.py:102
+msgid "Label name"
+msgstr ""
+
+#: label/models.py:109
+msgid "Label description"
+msgstr ""
+
+#: label/models.py:116 stock/forms.py:202
+msgid "Label"
+msgstr ""
+
+#: label/models.py:117
+msgid "Label template file"
+msgstr ""
+
+#: label/models.py:123 report/models.py:274
+msgid "Enabled"
+msgstr ""
+
+#: label/models.py:124
+msgid "Label template is enabled"
+msgstr ""
+
+#: label/models.py:129
+msgid "Width [mm]"
+msgstr ""
+
+#: label/models.py:130
+msgid "Label width, specified in mm"
+msgstr ""
+
+#: label/models.py:136
+msgid "Height [mm]"
+msgstr ""
+
+#: label/models.py:137
+msgid "Label height, specified in mm"
+msgstr ""
+
+#: label/models.py:222 label/models.py:275
+msgid "Query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: label/models.py:223 label/models.py:276 report/models.py:294
+#: report/models.py:415 report/models.py:449
+msgid "Filters"
+msgstr ""
+
+#: order/forms.py:27 order/templates/order/order_base.html:47
+msgid "Place order"
+msgstr ""
+
+#: order/forms.py:38 order/templates/order/order_base.html:54
+msgid "Mark order as complete"
+msgstr ""
+
+#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
+#: order/templates/order/sales_order_base.html:59
+msgid "Cancel order"
+msgstr ""
+
+#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+msgid "Ship order"
+msgstr ""
+
+#: order/forms.py:82
+msgid "Receive parts to this location"
+msgstr ""
+
+#: order/forms.py:103
+msgid "Purchase Order reference"
+msgstr ""
+
+#: order/forms.py:110
+msgid "Target date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:138
+msgid "Enter sales order number"
+msgstr ""
+
+#: order/forms.py:145 order/models.py:452
+msgid ""
+"Target date for order completion. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:235
+msgid "Enter stock item serial numbers"
+msgstr ""
+
+#: order/forms.py:241
+msgid "Enter quantity of stock items"
+msgstr ""
+
+#: order/models.py:99
+msgid "Order reference"
+msgstr ""
+
+#: order/models.py:101
+msgid "Order description"
+msgstr ""
+
+#: order/models.py:103
+msgid "Link to external page"
+msgstr ""
+
+#: order/models.py:111 part/templates/part/detail.html:132
+msgid "Created By"
+msgstr ""
+
+#: order/models.py:118
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:123
+msgid "Order notes"
+msgstr ""
+
+#: order/models.py:182 order/models.py:445
+msgid "Purchase order status"
+msgstr ""
+
+#: order/models.py:191
+msgid "Company from which the items are being ordered"
+msgstr ""
+
+#: order/models.py:194 order/templates/order/order_base.html:98
+#: templates/js/order.js:179
+msgid "Supplier Reference"
+msgstr ""
+
+#: order/models.py:194
+msgid "Supplier order reference code"
+msgstr ""
+
+#: order/models.py:201
+msgid "received by"
+msgstr ""
+
+#: order/models.py:206
+msgid "Issue Date"
+msgstr ""
+
+#: order/models.py:207
+msgid "Date order was issued"
+msgstr ""
+
+#: order/models.py:212
+msgid "Target Delivery Date"
+msgstr ""
+
+#: order/models.py:213
+msgid ""
+"Expected date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/models.py:219
+msgid "Date order was completed"
+msgstr ""
+
+#: order/models.py:243 order/models.py:342 part/views.py:1586
+#: stock/models.py:270 stock/models.py:953
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:248
+msgid "Part supplier must match PO supplier"
+msgstr ""
+
+#: order/models.py:337
+msgid "Lines can only be received against an order marked as 'Placed'"
+msgstr ""
+
+#: order/models.py:359
+msgid "Received items"
+msgstr ""
+
+#: order/models.py:441
+msgid "Company to which the items are being sold"
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer Reference "
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer order reference code"
+msgstr ""
+
+#: order/models.py:455 templates/js/order.js:303
+msgid "Shipment Date"
+msgstr ""
+
+#: order/models.py:462
+msgid "shipped by"
+msgstr ""
+
+#: order/models.py:506
+msgid "SalesOrder cannot be shipped as it is not currently pending"
+msgstr ""
+
+#: order/models.py:593
+msgid "Item quantity"
+msgstr ""
+
+#: order/models.py:595
+msgid "Line item reference"
+msgstr ""
+
+#: order/models.py:597
+msgid "Line item notes"
+msgstr ""
+
+#: order/models.py:623 order/models.py:667
+#: part/templates/part/allocation.html:17
+#: part/templates/part/allocation.html:45
+msgid "Order"
+msgstr ""
+
+#: order/models.py:624 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:24
+#: report/templates/report/inventree_po_report.html:77
+#: stock/templates/stock/item_base.html:313 templates/js/order.js:148
+msgid "Purchase Order"
+msgstr ""
+
+#: order/models.py:638
+msgid "Supplier part"
+msgstr ""
+
+#: order/models.py:641 order/templates/order/order_base.html:131
+#: order/templates/order/purchase_order_detail.html:214
+#: order/templates/order/receive_parts.html:22
+#: order/templates/order/sales_order_base.html:131
+msgid "Received"
+msgstr ""
+
+#: order/models.py:641
+msgid "Number of items received"
+msgstr ""
+
+#: order/models.py:648 stock/models.py:508
+#: stock/templates/stock/item_base.html:320
+msgid "Purchase Price"
+msgstr ""
+
+#: order/models.py:649
+msgid "Unit purchase price"
+msgstr ""
+
+#: order/models.py:743 order/models.py:745
+msgid "Stock item has not been assigned"
+msgstr ""
+
+#: order/models.py:749
+msgid "Cannot allocate stock item to a line with a different part"
+msgstr ""
+
+#: order/models.py:751
+msgid "Cannot allocate stock to a line without a part"
+msgstr ""
+
+#: order/models.py:754
+msgid "Allocation quantity cannot exceed stock quantity"
+msgstr ""
+
+#: order/models.py:764
+msgid "Quantity must be 1 for serialized stock item"
+msgstr ""
+
+#: order/models.py:769
+msgid "Line"
+msgstr ""
+
+#: order/models.py:780
+msgid "Item"
+msgstr ""
+
+#: order/models.py:781
+msgid "Select stock item to allocate"
+msgstr ""
+
+#: order/models.py:784
+msgid "Enter stock allocation quantity"
+msgstr ""
+
+#: order/templates/order/delete_attachment.html:5
+#: stock/templates/stock/attachment_delete.html:5
+#: templates/attachment_delete.html:5
+msgid "Are you sure you want to delete this attachment?"
+msgstr ""
+
+#: order/templates/order/order_base.html:39
+#: order/templates/order/sales_order_base.html:48
+msgid "Print"
+msgstr ""
+
+#: order/templates/order/order_base.html:43
+#: order/templates/order/sales_order_base.html:52
+msgid "Edit order information"
+msgstr ""
+
+#: order/templates/order/order_base.html:51
+msgid "Receive items"
+msgstr ""
+
+#: order/templates/order/order_base.html:64
+msgid "Export order to file"
+msgstr ""
+
+#: order/templates/order/order_base.html:72
+#: order/templates/order/po_navbar.html:11
+msgid "Purchase Order Details"
+msgstr ""
+
+#: order/templates/order/order_base.html:77
+#: order/templates/order/sales_order_base.html:77
+msgid "Order Reference"
+msgstr ""
+
+#: order/templates/order/order_base.html:82
+#: order/templates/order/sales_order_base.html:82
+msgid "Order Status"
+msgstr ""
+
+#: order/templates/order/order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:122
+msgid "Issued"
+msgstr ""
+
+#: order/templates/order/order_cancel.html:7
+#: order/templates/order/sales_order_cancel.html:9
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_complete.html:7
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: order/templates/order/order_complete.html:10
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: order/templates/order/order_complete.html:11
+msgid "Marking this order as complete will remove these line items."
+msgstr ""
+
+#: order/templates/order/order_issue.html:7
+msgid ""
+"After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_notes.html:13
+msgid "Order Notes"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:9
+msgid "Step 1 of 2 - Select Part Suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:14
+msgid "Select suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:18
+msgid "No purchaseable parts selected"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:31
+msgid "Select Supplier"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:57
+#, python-format
+msgid "Select a supplier for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:69
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:8
+msgid "Step 2 of 2 - Select Purchase Orders"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:12
+msgid "Select existing purchase orders, or create new orders."
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:31
+#: templates/js/order.js:205 templates/js/order.js:308
+msgid "Items"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:32
+msgid "Select Purchase Order"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:45
+#, python-format
+msgid "Create new purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:68
+#, python-format
+msgid "Select a purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/po_attachments.html:12
+#: order/templates/order/po_navbar.html:23
+msgid "Purchase Order Attachments"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:17
+msgid "Received Stock Items"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:20
+#: order/templates/order/po_received_items.html:12
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:14
+msgid "Purchase Order Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:22 order/views.py:1108
+#: order/views.py:1191
+msgid "Add Line Item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:45
+#: order/templates/order/purchase_order_detail.html:125
+#: part/templates/part/category.html:185 part/templates/part/category.html:227
+#: stock/templates/stock/location.html:191 templates/js/stock.js:708
+#: templates/js/stock.js:1169
+msgid "New Location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:46
+#: order/templates/order/purchase_order_detail.html:126
+#: stock/templates/stock/location.html:42
+msgid "Create new stock location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:139
+msgid "No line items found"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:205
+msgid "Unit Price"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:246
+#: order/templates/order/sales_order_detail.html:294
+msgid "Edit line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:247
+msgid "Delete line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:252
+msgid "Receive line item"
+msgstr ""
+
+#: order/templates/order/purchase_orders.html:24
+#: order/templates/order/sales_orders.html:24
+msgid "Print Order Reports"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:8
+#, python-format
+msgid "Receive outstanding parts for %(order)s - %(desc)s"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: part/models.py:322 part/templates/part/cat_link.html:7
+#: part/templates/part/category.html:99
+#: part/templates/part/category_navbar.html:22
+#: part/templates/part/category_navbar.html:29
+#: part/templates/part/category_partlist.html:10
+#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
+#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/navbar.html:23 templates/stats.html:59 templates/stats.html:68
+#: users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:15
+msgid "Select parts to receive against this order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:20
+msgid "Order Code"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:21
+#: part/templates/part/part_base.html:129 templates/js/part.js:414
+msgid "On Order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:23
+msgid "Receive"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:36
+msgid "Error: Referenced part has been removed"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:57
+msgid "Remove line"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:15
+msgid "This SalesOrder has not been fully allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:64
+msgid "Packing List"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/so_navbar.html:12
+msgid "Sales Order Details"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+msgid "Customer Reference"
+msgstr ""
+
+#: order/templates/order/sales_order_cancel.html:8
+#: order/templates/order/sales_order_ship.html:9
+#: part/templates/part/bom_duplicate.html:12
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:13
+msgid "Sales Order Items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342
+#: templates/js/build.js:627 templates/js/build.js:1044
+msgid "Actions"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515
+#: templates/js/build.js:849
+msgid "Edit stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517
+#: templates/js/build.js:850
+msgid "Delete stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:170
+msgid "No matching line items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:199
+msgid "ID"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579
+#: templates/js/build.js:845
+msgid "Allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:231
+msgid "Fulfilled"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:279
+msgid "Allocate serial numbers"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641
+msgid "Allocate stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:285
+msgid "Purchase stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634
+#: templates/js/build.js:1052
+msgid "Build stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:295
+msgid "Delete line item "
+msgstr ""
+
+#: order/templates/order/sales_order_notes.html:14
+msgid "Sales Order Notes"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:10
+msgid ""
+"This order has not been fully allocated. If the order is marked as shipped, "
+"it can no longer be adjusted."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:12
+msgid "Ensure that the order allocation is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:18
+msgid "Some line items in this order have been over-allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:20
+msgid "Ensure that this is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:27
+msgid "Shipping this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/so_allocate_by_serial.html:9
+msgid "Allocate stock items by serial number"
+msgstr ""
+
+#: order/templates/order/so_allocation_delete.html:7
+msgid "This action will unallocate the following stock from the Sales Order"
+msgstr ""
+
+#: order/templates/order/so_attachments.html:12
+#: order/templates/order/so_navbar.html:26
+msgid "Sales Order Attachments"
+msgstr ""
+
+#: order/templates/order/so_lineitem_delete.html:5
+msgid "Are you sure you wish to delete this line item?"
+msgstr ""
+
+#: order/views.py:99
+msgid "Add Purchase Order Attachment"
+msgstr ""
+
+#: order/views.py:149
+msgid "Add Sales Order Attachment"
+msgstr ""
+
+#: order/views.py:341
+msgid "Create Sales Order"
+msgstr ""
+
+#: order/views.py:376
+msgid "Edit Purchase Order"
+msgstr ""
+
+#: order/views.py:396
+msgid "Edit Sales Order"
+msgstr ""
+
+#: order/views.py:412
+msgid "Cancel Order"
+msgstr ""
+
+#: order/views.py:421 order/views.py:447
+msgid "Confirm order cancellation"
+msgstr ""
+
+#: order/views.py:424 order/views.py:450
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/views.py:438
+msgid "Cancel sales order"
+msgstr ""
+
+#: order/views.py:464
+msgid "Issue Order"
+msgstr ""
+
+#: order/views.py:473
+msgid "Confirm order placement"
+msgstr ""
+
+#: order/views.py:483
+msgid "Purchase order issued"
+msgstr ""
+
+#: order/views.py:494
+msgid "Complete Order"
+msgstr ""
+
+#: order/views.py:510
+msgid "Confirm order completion"
+msgstr ""
+
+#: order/views.py:521
+msgid "Purchase order completed"
+msgstr ""
+
+#: order/views.py:531
+msgid "Ship Order"
+msgstr ""
+
+#: order/views.py:547
+msgid "Confirm order shipment"
+msgstr ""
+
+#: order/views.py:553
+msgid "Could not ship order"
+msgstr ""
+
+#: order/views.py:607
+msgid "Receive Parts"
+msgstr ""
+
+#: order/views.py:677
+msgid "Items received"
+msgstr ""
+
+#: order/views.py:691
+msgid "No destination set"
+msgstr ""
+
+#: order/views.py:736
+msgid "Error converting quantity to number"
+msgstr ""
+
+#: order/views.py:742
+msgid "Receive quantity less than zero"
+msgstr ""
+
+#: order/views.py:748
+msgid "No lines specified"
+msgstr ""
+
+#: order/views.py:1060
+#, python-brace-format
+msgid "Ordered {n} parts"
+msgstr ""
+
+#: order/views.py:1117
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/views.py:1123
+msgid "Supplier must match for Part and Order"
+msgstr ""
+
+#: order/views.py:1242 order/views.py:1260
+msgid "Edit Line Item"
+msgstr ""
+
+#: order/views.py:1276 order/views.py:1288
+msgid "Delete Line Item"
+msgstr ""
+
+#: order/views.py:1281 order/views.py:1293
+msgid "Deleted line item"
+msgstr ""
+
+#: order/views.py:1306
+msgid "Allocate Serial Numbers"
+msgstr ""
+
+#: order/views.py:1351
+#, python-brace-format
+msgid "Allocated {n} items"
+msgstr ""
+
+#: order/views.py:1367
+msgid "Select line item"
+msgstr ""
+
+#: order/views.py:1398
+msgid "No matching item for serial"
+msgstr ""
+
+#: order/views.py:1408
+msgid "is not in stock"
+msgstr ""
+
+#: order/views.py:1416
+msgid "already allocated to an order"
+msgstr ""
+
+#: order/views.py:1470
+msgid "Allocate Stock to Order"
+msgstr ""
+
+#: order/views.py:1544
+msgid "Edit Allocation Quantity"
+msgstr ""
+
+#: order/views.py:1559
+msgid "Remove allocation"
+msgstr ""
+
+#: part/bom.py:138 part/models.py:72 part/models.py:762
+#: part/templates/part/category.html:66 part/templates/part/detail.html:90
+msgid "Default Location"
+msgstr ""
+
+#: part/bom.py:139 part/templates/part/part_base.html:117
+msgid "Available Stock"
+msgstr ""
+
+#: part/bom.py:379
+#, python-brace-format
+msgid "Unsupported file format: {f}"
+msgstr ""
+
+#: part/bom.py:384
+msgid "Error reading BOM file (invalid data)"
+msgstr ""
+
+#: part/bom.py:386
+msgid "Error reading BOM file (incorrect row size)"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "File Format"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "Select output file format"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Cascading"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Download cascading / multi-level BOM"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Levels"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Select maximum number of BOM levels to export (0 = all levels)"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include Parameter Data"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include part parameters data in exported BOM"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include Stock Data"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include part stock data in exported BOM"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include Manufacturer Data"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include part manufacturer data in exported BOM"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include Supplier Data"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include part supplier data in exported BOM"
+msgstr ""
+
+#: part/forms.py:122 part/models.py:2077
+msgid "Parent Part"
+msgstr ""
+
+#: part/forms.py:123 part/templates/part/bom_duplicate.html:7
+msgid "Select parent part to copy BOM from"
+msgstr ""
+
+#: part/forms.py:129
+msgid "Clear existing BOM items"
+msgstr ""
+
+#: part/forms.py:135
+msgid "Confirm BOM duplication"
+msgstr ""
+
+#: part/forms.py:153
+msgid "validate"
+msgstr ""
+
+#: part/forms.py:153
+msgid "Confirm that the BOM is correct"
+msgstr ""
+
+#: part/forms.py:165
+msgid "BOM file"
+msgstr ""
+
+#: part/forms.py:165
+msgid "Select BOM file to upload"
+msgstr ""
+
+#: part/forms.py:184
+msgid "Related Part"
+msgstr ""
+
+#: part/forms.py:203
+msgid "Select part category"
+msgstr ""
+
+#: part/forms.py:220
+msgid "Duplicate all BOM data for this part"
+msgstr ""
+
+#: part/forms.py:221
+msgid "Copy BOM"
+msgstr ""
+
+#: part/forms.py:226
+msgid "Duplicate all parameter data for this part"
+msgstr ""
+
+#: part/forms.py:227
+msgid "Copy Parameters"
+msgstr ""
+
+#: part/forms.py:232
+msgid "Confirm part creation"
+msgstr ""
+
+#: part/forms.py:237
+msgid "Include category parameter templates"
+msgstr ""
+
+#: part/forms.py:242
+msgid "Include parent categories parameter templates"
+msgstr ""
+
+#: part/forms.py:322
+msgid "Add parameter template to same level categories"
+msgstr ""
+
+#: part/forms.py:326
+msgid "Add parameter template to all categories"
+msgstr ""
+
+#: part/forms.py:344 part/models.py:2171
+msgid "Sub part"
+msgstr ""
+
+#: part/forms.py:372
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:73
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:82 part/models.py:2123
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr ""
+
+#: part/models.py:83 part/templates/part/category.html:23
+#: part/templates/part/category.html:94 part/templates/part/category.html:141
+#: templates/InvenTree/search.html:127 templates/stats.html:63
+#: users/models.py:37
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:446 part/models.py:458
+#, python-brace-format
+msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
+msgstr ""
+
+#: part/models.py:555
+msgid "Next available serial numbers are"
+msgstr ""
+
+#: part/models.py:559
+msgid "Next available serial number is"
+msgstr ""
+
+#: part/models.py:564
+msgid "Most recent serial number is"
+msgstr ""
+
+#: part/models.py:643
+msgid "Duplicate IPN not allowed in part settings"
+msgstr ""
+
+#: part/models.py:654
+msgid "Part must be unique for name, IPN and revision"
+msgstr ""
+
+#: part/models.py:685 part/templates/part/detail.html:22
+msgid "Part name"
+msgstr ""
+
+#: part/models.py:692
+msgid "Is Template"
+msgstr ""
+
+#: part/models.py:693
+msgid "Is this part a template part?"
+msgstr ""
+
+#: part/models.py:704
+msgid "Is this part a variant of another part?"
+msgstr ""
+
+#: part/models.py:705 part/templates/part/detail.html:60
+msgid "Variant Of"
+msgstr ""
+
+#: part/models.py:711
+msgid "Part description"
+msgstr ""
+
+#: part/models.py:716 part/templates/part/category.html:73
+#: part/templates/part/detail.html:67
+msgid "Keywords"
+msgstr ""
+
+#: part/models.py:717
+msgid "Part keywords to improve visibility in search results"
+msgstr ""
+
+#: part/models.py:724 part/models.py:2122 part/templates/part/detail.html:73
+#: part/templates/part/set_category.html:15 templates/js/part.js:385
+msgid "Category"
+msgstr ""
+
+#: part/models.py:725
+msgid "Part category"
+msgstr ""
+
+#: part/models.py:730 part/templates/part/detail.html:28
+#: part/templates/part/part_base.html:94 templates/js/part.js:161
+msgid "IPN"
+msgstr ""
+
+#: part/models.py:731
+msgid "Internal Part Number"
+msgstr ""
+
+#: part/models.py:737
+msgid "Part revision or version number"
+msgstr ""
+
+#: part/models.py:738 part/templates/part/detail.html:35 report/models.py:198
+#: templates/js/part.js:165
+msgid "Revision"
+msgstr ""
+
+#: part/models.py:760
+msgid "Where is this item normally stored?"
+msgstr ""
+
+#: part/models.py:807 part/templates/part/detail.html:97
+msgid "Default Supplier"
+msgstr ""
+
+#: part/models.py:808
+msgid "Default supplier part"
+msgstr ""
+
+#: part/models.py:815
+msgid "Default Expiry"
+msgstr ""
+
+#: part/models.py:816
+msgid "Expiry time (in days) for stock items of this part"
+msgstr ""
+
+#: part/models.py:821 part/templates/part/detail.html:113
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/models.py:822
+msgid "Minimum allowed stock level"
+msgstr ""
+
+#: part/models.py:828 part/models.py:2051 part/templates/part/detail.html:106
+#: part/templates/part/params.html:29
+msgid "Units"
+msgstr ""
+
+#: part/models.py:829
+msgid "Stock keeping units for this part"
+msgstr ""
+
+#: part/models.py:835
+msgid "Can this part be built from other parts?"
+msgstr ""
+
+#: part/models.py:841
+msgid "Can this part be used to build other parts?"
+msgstr ""
+
+#: part/models.py:847
+msgid "Does this part have tracking for unique items?"
+msgstr ""
+
+#: part/models.py:852
+msgid "Can this part be purchased from external suppliers?"
+msgstr ""
+
+#: part/models.py:857
+msgid "Can this part be sold to customers?"
+msgstr ""
+
+#: part/models.py:861 part/templates/part/detail.html:227
+#: templates/js/table_filters.js:20 templates/js/table_filters.js:60
+#: templates/js/table_filters.js:236 templates/js/table_filters.js:305
+msgid "Active"
+msgstr ""
+
+#: part/models.py:862
+msgid "Is this part active?"
+msgstr ""
+
+#: part/models.py:867
+msgid "Is this a virtual part, such as a software product or license?"
+msgstr ""
+
+#: part/models.py:872
+msgid "Part notes - supports Markdown formatting"
+msgstr ""
+
+#: part/models.py:875
+msgid "BOM checksum"
+msgstr ""
+
+#: part/models.py:875
+msgid "Stored BOM checksum"
+msgstr ""
+
+#: part/models.py:878
+msgid "BOM checked by"
+msgstr ""
+
+#: part/models.py:880
+msgid "BOM checked date"
+msgstr ""
+
+#: part/models.py:884
+msgid "Creation User"
+msgstr ""
+
+#: part/models.py:1949
+msgid "Test templates can only be created for trackable parts"
+msgstr ""
+
+#: part/models.py:1966
+msgid "Test with this name already exists for this part"
+msgstr ""
+
+#: part/models.py:1986 templates/js/part.js:638 templates/js/stock.js:104
+msgid "Test Name"
+msgstr ""
+
+#: part/models.py:1987
+msgid "Enter a name for the test"
+msgstr ""
+
+#: part/models.py:1992
+msgid "Test Description"
+msgstr ""
+
+#: part/models.py:1993
+msgid "Enter description for this test"
+msgstr ""
+
+#: part/models.py:1998 templates/js/part.js:647
+#: templates/js/table_filters.js:222
+msgid "Required"
+msgstr ""
+
+#: part/models.py:1999
+msgid "Is this test required to pass?"
+msgstr ""
+
+#: part/models.py:2004 templates/js/part.js:655
+msgid "Requires Value"
+msgstr ""
+
+#: part/models.py:2005
+msgid "Does this test require a value when adding a test result?"
+msgstr ""
+
+#: part/models.py:2010 templates/js/part.js:662
+msgid "Requires Attachment"
+msgstr ""
+
+#: part/models.py:2011
+msgid "Does this test require a file attachment when adding a test result?"
+msgstr ""
+
+#: part/models.py:2044
+msgid "Parameter template name must be unique"
+msgstr ""
+
+#: part/models.py:2049
+msgid "Parameter Name"
+msgstr ""
+
+#: part/models.py:2051
+msgid "Parameter Units"
+msgstr ""
+
+#: part/models.py:2079 part/models.py:2128 part/models.py:2129
+#: templates/InvenTree/settings/category.html:62
+msgid "Parameter Template"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Data"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Parameter Value"
+msgstr ""
+
+#: part/models.py:2133 templates/InvenTree/settings/category.html:67
+msgid "Default Value"
+msgstr ""
+
+#: part/models.py:2134
+msgid "Default Parameter Value"
+msgstr ""
+
+#: part/models.py:2163
+msgid "Select parent part"
+msgstr ""
+
+#: part/models.py:2172
+msgid "Select part to be used in BOM"
+msgstr ""
+
+#: part/models.py:2178
+msgid "BOM quantity for this BOM item"
+msgstr ""
+
+#: part/models.py:2180 templates/js/bom.js:216 templates/js/bom.js:269
+msgid "Optional"
+msgstr ""
+
+#: part/models.py:2180
+msgid "This BOM item is optional"
+msgstr ""
+
+#: part/models.py:2183
+msgid "Overage"
+msgstr ""
+
+#: part/models.py:2184
+msgid "Estimated build wastage quantity (absolute or percentage)"
+msgstr ""
+
+#: part/models.py:2187
+msgid "BOM item reference"
+msgstr ""
+
+#: part/models.py:2190
+msgid "BOM item notes"
+msgstr ""
+
+#: part/models.py:2192
+msgid "Checksum"
+msgstr ""
+
+#: part/models.py:2192
+msgid "BOM line checksum"
+msgstr ""
+
+#: part/models.py:2196 templates/js/bom.js:279 templates/js/bom.js:286
+#: templates/js/table_filters.js:50
+msgid "Inherited"
+msgstr ""
+
+#: part/models.py:2197
+msgid "This BOM item is inherited by BOMs for variant parts"
+msgstr ""
+
+#: part/models.py:2273 part/views.py:1592 part/views.py:1644
+#: stock/models.py:260
+msgid "Quantity must be integer value for trackable parts"
+msgstr ""
+
+#: part/models.py:2282 part/models.py:2284
+msgid "Sub part must be specified"
+msgstr ""
+
+#: part/models.py:2287
+msgid "BOM Item"
+msgstr ""
+
+#: part/models.py:2404
+msgid "Part 1"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Part 2"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Select Related Part"
+msgstr ""
+
+#: part/models.py:2440
+msgid ""
+"Error creating relationship: check that the part is not related to itself "
+"and that the relationship is unique"
+msgstr ""
+
+#: part/templates/part/allocation.html:11
+msgid "Part Stock Allocations"
+msgstr ""
+
+#: part/templates/part/attachments.html:10
+msgid "Part Attachments"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:6
+msgid "Are you sure you want to delete this BOM item?"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:8
+msgid "Deleting this entry will remove the BOM row from the following part"
+msgstr ""
+
+#: part/templates/part/bom.html:10 part/templates/part/navbar.html:48
+#: part/templates/part/navbar.html:51
+msgid "Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:19
+#, python-format
+msgid "The BOM for %(part)s has changed, and must be validated.
"
+msgstr ""
+
+#: part/templates/part/bom.html:21
+#, python-format
+msgid ""
+"The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
+msgstr ""
+
+#: part/templates/part/bom.html:25
+#, python-format
+msgid "The BOM for %(part)s has not been validated."
+msgstr ""
+
+#: part/templates/part/bom.html:32
+msgid "Remove selected BOM items"
+msgstr ""
+
+#: part/templates/part/bom.html:35
+msgid "Import BOM data"
+msgstr ""
+
+#: part/templates/part/bom.html:39
+msgid "Copy BOM from parent part"
+msgstr ""
+
+#: part/templates/part/bom.html:43
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/bom.html:46
+msgid "Finish Editing"
+msgstr ""
+
+#: part/templates/part/bom.html:51
+msgid "Edit BOM"
+msgstr ""
+
+#: part/templates/part/bom.html:55
+msgid "Validate Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:61 part/views.py:1887
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:64
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/bom.html:109
+msgid "Delete selected BOM items?"
+msgstr ""
+
+#: part/templates/part/bom.html:110
+msgid "All selected BOM items will be deleted"
+msgstr ""
+
+#: part/templates/part/bom.html:160 part/views.py:584
+#: templates/js/stock.js:1158
+msgid "Create New Part"
+msgstr ""
+
+#: part/templates/part/bom_duplicate.html:13
+msgid "This part already has a Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:11
+#: part/templates/part/bom_upload/select_parts.html:11
+#: part/templates/part/bom_upload/upload_file.html:11
+msgid "Upload Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:16
+msgid "Step 2 - Select Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:21
+msgid "Missing selections for the following required columns"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:32
+msgid "Submit Selections"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:41
+msgid "File Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:47
+msgid "Remove column"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:58
+msgid "Match Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:68
+msgid "Duplicate column selection"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:76
+#: part/templates/part/bom_upload/select_parts.html:58
+msgid "Remove row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:16
+msgid "Step 3 - Select Parts"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:21
+msgid "Errors exist in the submitted data"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:27
+msgid "Submit BOM"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:39
+msgid "Row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:40
+#: part/templates/part/bom_upload/select_parts.html:69
+msgid "Select Part"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:65
+#: part/templates/part/category.html:117
+msgid "Create new part"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:16
+msgid "Step 1 - Select BOM File"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:19
+msgid "Requirements for BOM upload"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid ""
+"The BOM file must contain the required named columns as provided in the "
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid "BOM Upload Template"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:22
+msgid "Each part must already exist in the database"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:27
+msgid "Upload File"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:6
+#, python-format
+msgid ""
+"Confirm that the Bill of Materials (BOM) is valid for:
%(part)s"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:9
+msgid "This will validate each line in the BOM."
+msgstr ""
+
+#: part/templates/part/build.html:10
+msgid "Part Builds"
+msgstr ""
+
+#: part/templates/part/build.html:18
+msgid "Start New Build"
+msgstr ""
+
+#: part/templates/part/category.html:24
+msgid "All parts"
+msgstr ""
+
+#: part/templates/part/category.html:29 part/views.py:2270
+msgid "Create new part category"
+msgstr ""
+
+#: part/templates/part/category.html:35
+msgid "Edit part category"
+msgstr ""
+
+#: part/templates/part/category.html:40
+msgid "Delete part category"
+msgstr ""
+
+#: part/templates/part/category.html:50 part/templates/part/category.html:89
+msgid "Category Details"
+msgstr ""
+
+#: part/templates/part/category.html:55
+msgid "Category Path"
+msgstr ""
+
+#: part/templates/part/category.html:60
+msgid "Category Description"
+msgstr ""
+
+#: part/templates/part/category.html:79
+#: part/templates/part/category_navbar.html:11
+#: part/templates/part/category_navbar.html:18
+#: part/templates/part/subcategory.html:16
+msgid "Subcategories"
+msgstr ""
+
+#: part/templates/part/category.html:84
+msgid "Parts (Including subcategories)"
+msgstr ""
+
+#: part/templates/part/category.html:113
+msgid "Export Part Data"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set category"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set Category"
+msgstr ""
+
+#: part/templates/part/category.html:128
+msgid "Export Data"
+msgstr ""
+
+#: part/templates/part/category.html:186
+#: stock/templates/stock/location.html:192 templates/js/stock.js:709
+msgid "Create new location"
+msgstr ""
+
+#: part/templates/part/category.html:191 part/templates/part/category.html:221
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:192
+msgid "Create new category"
+msgstr ""
+
+#: part/templates/part/category.html:222
+msgid "Create new Part Category"
+msgstr ""
+
+#: part/templates/part/category.html:228 stock/views.py:1359
+msgid "Create new Stock Location"
+msgstr ""
+
+#: part/templates/part/category_delete.html:5
+msgid "Are you sure you want to delete category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:8
+#, python-format
+msgid "This category contains %(count)s child categories"
+msgstr ""
+
+#: part/templates/part/category_delete.html:9
+msgid ""
+"If this category is deleted, these child categories will be moved to the"
+msgstr ""
+
+#: part/templates/part/category_delete.html:11
+msgid "category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:13
+msgid "top level Parts category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:25
+#, python-format
+msgid "This category contains %(count)s parts"
+msgstr ""
+
+#: part/templates/part/category_delete.html:27
+#, python-format
+msgid ""
+"If this category is deleted, these parts will be moved to the parent "
+"category %(path)s"
+msgstr ""
+
+#: part/templates/part/category_delete.html:29
+msgid ""
+"If this category is deleted, these parts will be moved to the top-level "
+"category Teile"
+msgstr ""
+
+#: part/templates/part/category_navbar.html:34
+#: part/templates/part/category_navbar.html:37
+#: part/templates/part/navbar.html:22
+msgid "Parameters"
+msgstr ""
+
+#: part/templates/part/category_parametric.html:10
+#: part/templates/part/navbar.html:19 part/templates/part/params.html:10
+msgid "Part Parameters"
+msgstr ""
+
+#: part/templates/part/copy_part.html:9 part/views.py:460
+msgid "Duplicate Part"
+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 - %(desc)s (%(match_per)s%% match)"
+msgstr ""
+
+#: part/templates/part/detail.html:11 part/templates/part/navbar.html:11
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:42
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:47
+msgid "No serial numbers recorded"
+msgstr ""
+
+#: part/templates/part/detail.html:120
+msgid "Stock Expiry Time"
+msgstr ""
+
+#: part/templates/part/detail.html:139
+msgid "Responsible User"
+msgstr ""
+
+#: part/templates/part/detail.html:153
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/detail.html:155
+msgid "Part is not a virtual part"
+msgstr ""
+
+#: part/templates/part/detail.html:163
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/detail.html:165
+msgid "Part is not a template part"
+msgstr ""
+
+#: part/templates/part/detail.html:173
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:175
+msgid "Part cannot be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:183
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:185
+msgid "Part cannot be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:193
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:195
+msgid "Part stock is not tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:203 part/templates/part/detail.html:205
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/detail.html:213
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:215
+msgid "Part cannot be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:230
+msgid "Part is active"
+msgstr ""
+
+#: part/templates/part/detail.html:232
+msgid "Part is not active"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:11
+msgid "Part Manufacturers"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:24
+msgid "Delete manufacturer parts"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:53
+#: part/templates/part/supplier.html:57
+msgid "Create new manufacturer"
+msgstr ""
+
+#: part/templates/part/navbar.html:26 part/templates/part/variants.html:11
+msgid "Part Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:29
+msgid "Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:40
+msgid "Allocated Stock"
+msgstr ""
+
+#: part/templates/part/navbar.html:43
+msgid "Allocations"
+msgstr ""
+
+#: part/templates/part/navbar.html:64 part/templates/part/navbar.html:67
+msgid "Used In"
+msgstr ""
+
+#: part/templates/part/navbar.html:92
+msgid "Sales Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:95
+msgid "Sale Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+msgid "Part Test Templates"
+msgstr ""
+
+#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:398
+msgid "Tests"
+msgstr ""
+
+#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/related.html:10
+msgid "Related Parts"
+msgstr ""
+
+#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+msgid "Part Notes"
+msgstr ""
+
+#: part/templates/part/params.html:17
+msgid "Add new parameter"
+msgstr ""
+
+#: part/templates/part/params.html:18
+#: templates/InvenTree/settings/category.html:29
+#: templates/InvenTree/settings/part.html:44
+msgid "New Parameter"
+msgstr ""
+
+#: part/templates/part/params.html:28
+#: report/templates/report/inventree_test_report_base.html:90
+#: stock/models.py:1655 templates/InvenTree/settings/header.html:8
+#: templates/js/stock.js:124
+msgid "Value"
+msgstr ""
+
+#: part/templates/part/params.html:41 templates/InvenTree/settings/user.html:19
+msgid "Edit"
+msgstr ""
+
+#: part/templates/part/params.html:68
+msgid "New Template"
+msgstr ""
+
+#: part/templates/part/params.html:69
+msgid "Create New Parameter Template"
+msgstr ""
+
+#: part/templates/part/part_app_base.html:12
+msgid "Part List"
+msgstr ""
+
+#: part/templates/part/part_base.html:18
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:40
+msgid "Star this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:47
+#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/location.html:51
+msgid "Barcode actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:49
+#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+msgid "Show QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:50
+#: stock/templates/stock/item_base.html:149
+#: stock/templates/stock/location.html:54
+msgid "Print Label"
+msgstr ""
+
+#: part/templates/part/part_base.html:55
+msgid "Show pricing information"
+msgstr ""
+
+#: part/templates/part/part_base.html:59
+msgid "Count part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:74
+msgid "Part actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:77
+msgid "Duplicate part"
+msgstr ""
+
+#: part/templates/part/part_base.html:80
+msgid "Edit part"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
+msgid "Delete part"
+msgstr ""
+
+#: part/templates/part/part_base.html:123 templates/js/table_filters.js:156
+msgid "In Stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+msgid "Required for Build Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:143
+msgid "Required for Sales Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:150
+msgid "Allocated to Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+msgid "Can Build"
+msgstr ""
+
+#: part/templates/part/part_base.html:171 templates/js/part.js:418
+msgid "Building"
+msgstr ""
+
+#: part/templates/part/part_base.html:250
+msgid "Calculate"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:8
+#, python-format
+msgid "Pricing information for:
%(part)s."
+msgstr ""
+
+#: part/templates/part/part_pricing.html:23
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:27
+#: part/templates/part/part_pricing.html:53
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:33
+#: part/templates/part/part_pricing.html:59
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:41
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:49
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:67
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:74
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:84
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/part_tests.html:17
+msgid "Add Test Template"
+msgstr ""
+
+#: part/templates/part/part_thumb.html:20
+msgid "Select from existing images"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:7
+#, python-format
+msgid "Are you sure you want to delete part '%(full_name)s'?"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:12
+#, python-format
+msgid ""
+"This part is used in BOMs for %(count)s other parts. If you delete this "
+"part, the BOMs for the following parts will be updated"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:22
+#, python-format
+msgid ""
+"There are %(count)s stock entries defined for this part. If you delete this "
+"part, the following stock entries will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:33
+#, python-format
+msgid ""
+"There are %(count)s manufacturers defined for this part. If you delete this "
+"part, the following manufacturer parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:44
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this part. If you delete this "
+"part, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:55
+#, python-format
+msgid ""
+"There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this "
+"part will permanently remove this tracking information."
+msgstr ""
+
+#: part/templates/part/related.html:18
+msgid "Add Related"
+msgstr ""
+
+#: part/templates/part/sale_prices.html:10
+msgid "Sell Price Information"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New sales order"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New Order"
+msgstr ""
+
+#: part/templates/part/set_category.html:9
+msgid "Set category for the following parts"
+msgstr ""
+
+#: part/templates/part/stock.html:10
+msgid "Part Stock"
+msgstr ""
+
+#: part/templates/part/stock.html:16
+#, python-format
+msgid "Showing stock for all variants of %(full_name)s"
+msgstr ""
+
+#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
+#: templates/js/part.js:422
+msgid "No Stock"
+msgstr ""
+
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:130
+msgid "Low Stock"
+msgstr ""
+
+#: part/templates/part/supplier.html:10
+msgid "Part Suppliers"
+msgstr ""
+
+#: part/templates/part/track.html:10
+msgid "Part Tracking"
+msgstr ""
+
+#: part/templates/part/used_in.html:9
+msgid "Assemblies"
+msgstr ""
+
+#: part/templates/part/variant_part.html:9
+msgid "Create new part variant"
+msgstr ""
+
+#: part/templates/part/variant_part.html:10
+#, python-format
+msgid "Create a new variant of template '%(full_name)s'."
+msgstr ""
+
+#: part/templates/part/variants.html:19
+msgid "Create new variant"
+msgstr ""
+
+#: part/templates/part/variants.html:20
+msgid "New Variant"
+msgstr ""
+
+#: part/views.py:89
+msgid "Add Related Part"
+msgstr ""
+
+#: part/views.py:144
+msgid "Delete Related Part"
+msgstr ""
+
+#: part/views.py:158
+msgid "Add part attachment"
+msgstr ""
+
+#: part/views.py:211 templates/attachment_table.html:32
+msgid "Edit attachment"
+msgstr ""
+
+#: part/views.py:215
+msgid "Part attachment updated"
+msgstr ""
+
+#: part/views.py:230
+msgid "Delete Part Attachment"
+msgstr ""
+
+#: part/views.py:238
+msgid "Deleted part attachment"
+msgstr ""
+
+#: part/views.py:247
+msgid "Create Test Template"
+msgstr ""
+
+#: part/views.py:274
+msgid "Edit Test Template"
+msgstr ""
+
+#: part/views.py:288
+msgid "Delete Test Template"
+msgstr ""
+
+#: part/views.py:295
+msgid "Set Part Category"
+msgstr ""
+
+#: part/views.py:345
+#, python-brace-format
+msgid "Set category for {n} parts"
+msgstr ""
+
+#: part/views.py:380
+msgid "Create Variant"
+msgstr ""
+
+#: part/views.py:465
+msgid "Copied part"
+msgstr ""
+
+#: part/views.py:519 part/views.py:657
+msgid "Possible matches exist - confirm creation of new part"
+msgstr ""
+
+#: part/views.py:589
+msgid "Created new part"
+msgstr ""
+
+#: part/views.py:825
+msgid "Part QR Code"
+msgstr ""
+
+#: part/views.py:927
+msgid "Upload Part Image"
+msgstr ""
+
+#: part/views.py:933 part/views.py:968
+msgid "Updated part image"
+msgstr ""
+
+#: part/views.py:942
+msgid "Select Part Image"
+msgstr ""
+
+#: part/views.py:971
+msgid "Part image not found"
+msgstr ""
+
+#: part/views.py:982
+msgid "Edit Part Properties"
+msgstr ""
+
+#: part/views.py:1017
+msgid "Duplicate BOM"
+msgstr ""
+
+#: part/views.py:1047
+msgid "Confirm duplication of BOM from parent"
+msgstr ""
+
+#: part/views.py:1068
+msgid "Validate BOM"
+msgstr ""
+
+#: part/views.py:1089
+msgid "Confirm that the BOM is valid"
+msgstr ""
+
+#: part/views.py:1100
+msgid "Validated Bill of Materials"
+msgstr ""
+
+#: part/views.py:1234
+msgid "No BOM file provided"
+msgstr ""
+
+#: part/views.py:1595
+msgid "Enter a valid quantity"
+msgstr ""
+
+#: part/views.py:1620 part/views.py:1623
+msgid "Select valid part"
+msgstr ""
+
+#: part/views.py:1629
+msgid "Duplicate part selected"
+msgstr ""
+
+#: part/views.py:1667
+msgid "Select a part"
+msgstr ""
+
+#: part/views.py:1673
+msgid "Selected part creates a circular BOM"
+msgstr ""
+
+#: part/views.py:1677
+msgid "Specify quantity"
+msgstr ""
+
+#: part/views.py:1939
+msgid "Confirm Part Deletion"
+msgstr ""
+
+#: part/views.py:1946
+msgid "Part was deleted"
+msgstr ""
+
+#: part/views.py:1955
+msgid "Part Pricing"
+msgstr ""
+
+#: part/views.py:2069
+msgid "Create Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2079
+msgid "Edit Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2086
+msgid "Delete Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2094
+msgid "Create Part Parameter"
+msgstr ""
+
+#: part/views.py:2144
+msgid "Edit Part Parameter"
+msgstr ""
+
+#: part/views.py:2158
+msgid "Delete Part Parameter"
+msgstr ""
+
+#: part/views.py:2218
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:2256
+msgid "Delete Part Category"
+msgstr ""
+
+#: part/views.py:2262
+msgid "Part category was deleted"
+msgstr ""
+
+#: part/views.py:2314
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2415
+msgid "Edit Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2471
+msgid "Delete Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2490
+msgid "Create BOM Item"
+msgstr ""
+
+#: part/views.py:2560
+msgid "Edit BOM item"
+msgstr ""
+
+#: part/views.py:2616
+msgid "Confim BOM item deletion"
+msgstr ""
+
+#: report/models.py:180
+msgid "Template name"
+msgstr ""
+
+#: report/models.py:186
+msgid "Report template file"
+msgstr ""
+
+#: report/models.py:193
+msgid "Report template description"
+msgstr ""
+
+#: report/models.py:199
+msgid "Report revision number (auto-increments)"
+msgstr ""
+
+#: report/models.py:275
+msgid "Report template is enabled"
+msgstr ""
+
+#: report/models.py:295
+msgid "StockItem query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: report/models.py:303
+msgid "Include Installed Tests"
+msgstr ""
+
+#: report/models.py:304
+msgid "Include test results for stock items installed inside assembled item"
+msgstr ""
+
+#: report/models.py:347
+msgid "Build Filters"
+msgstr ""
+
+#: report/models.py:348
+msgid "Build query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:385
+msgid "Part Filters"
+msgstr ""
+
+#: report/models.py:386
+msgid "Part query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:416
+msgid "Purchase order query filters"
+msgstr ""
+
+#: report/models.py:450
+msgid "Sales order query filters"
+msgstr ""
+
+#: report/models.py:500
+msgid "Snippet"
+msgstr ""
+
+#: report/models.py:501
+msgid "Report snippet file"
+msgstr ""
+
+#: report/models.py:505
+msgid "Snippet file description"
+msgstr ""
+
+#: report/models.py:540
+msgid "Asset"
+msgstr ""
+
+#: report/models.py:541
+msgid "Report asset file"
+msgstr ""
+
+#: report/models.py:544
+msgid "Asset file description"
+msgstr ""
+
+#: report/templates/report/inventree_build_order_base.html:147
+msgid "Required For"
+msgstr ""
+
+#: report/templates/report/inventree_po_report.html:85
+#: report/templates/report/inventree_so_report.html:85
+msgid "Line 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:83
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:88
+#: stock/models.py:1643
+msgid "Test"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:89
+#: stock/models.py:1649
+msgid "Result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:92
+#: templates/js/order.js:195 templates/js/stock.js:986
+msgid "Date"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:103
+msgid "Pass"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:105
+msgid "Fail"
+msgstr ""
+
+#: stock/api.py:199
+#, python-brace-format
+msgid "Updated stock for {n} items"
+msgstr ""
+
+#: stock/api.py:268
+#, python-brace-format
+msgid "Moved {n} parts to {loc}"
+msgstr ""
+
+#: stock/forms.py:114 stock/forms.py:406 stock/models.py:475
+#: stock/templates/stock/item_base.html:365 templates/js/stock.js:656
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/forms.py:115 stock/forms.py:407
+msgid "Expiration date for this stock item"
+msgstr ""
+
+#: stock/forms.py:118
+msgid "Enter unique serial numbers (or leave blank)"
+msgstr ""
+
+#: stock/forms.py:169
+msgid ""
+"Destination for serialized stock (by default, will remain in current "
+"location)"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Serial numbers"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Unique serial numbers (must match quantity)"
+msgstr ""
+
+#: stock/forms.py:173 stock/forms.py:349
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/forms.py:203 stock/forms.py:259
+msgid "Select test report template"
+msgstr ""
+
+#: stock/forms.py:267 templates/js/table_filters.js:70
+#: templates/js/table_filters.js:133
+msgid "Include sublocations"
+msgstr ""
+
+#: stock/forms.py:267
+msgid "Include stock items in sub locations"
+msgstr ""
+
+#: stock/forms.py:302
+msgid "Stock item to install"
+msgstr ""
+
+#: stock/forms.py:309
+msgid "Stock quantity to assign"
+msgstr ""
+
+#: stock/forms.py:337
+msgid "Must not exceed available quantity"
+msgstr ""
+
+#: stock/forms.py:347
+msgid "Destination location for uninstalled items"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm uninstall"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm removal of installed stock items"
+msgstr ""
+
+#: stock/forms.py:375
+msgid "Destination stock location"
+msgstr ""
+
+#: stock/forms.py:377
+msgid "Add note (required)"
+msgstr ""
+
+#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: stock/forms.py:381
+msgid "Confirm movement of stock items"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set Default Location"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set the destination as the default location for selected parts"
+msgstr ""
+
+#: stock/models.py:54 stock/models.py:513
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:55 stock/models.py:514
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:205
+msgid "Created stock item"
+msgstr ""
+
+#: stock/models.py:241
+msgid "StockItem with this serial number already exists"
+msgstr ""
+
+#: stock/models.py:277
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:287 stock/models.py:296
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:288
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:310
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:316
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:323
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:365
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:374
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:383
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:388 stock/templates/stock/stock_app_base.html:8
+msgid "Stock Location"
+msgstr ""
+
+#: stock/models.py:391
+msgid "Where is this stock item located?"
+msgstr ""
+
+#: stock/models.py:398
+msgid "Packaging this stock item is stored in"
+msgstr ""
+
+#: stock/models.py:403 stock/templates/stock/item_base.html:259
+msgid "Installed In"
+msgstr ""
+
+#: stock/models.py:406
+msgid "Is this item installed in another item?"
+msgstr ""
+
+#: stock/models.py:422
+msgid "Serial number for this item"
+msgstr ""
+
+#: stock/models.py:434
+msgid "Batch code for this stock item"
+msgstr ""
+
+#: stock/models.py:438
+msgid "Stock Quantity"
+msgstr ""
+
+#: stock/models.py:447
+msgid "Source Build"
+msgstr ""
+
+#: stock/models.py:449
+msgid "Build for this stock item"
+msgstr ""
+
+#: stock/models.py:460
+msgid "Source Purchase Order"
+msgstr ""
+
+#: stock/models.py:463
+msgid "Purchase order for this stock item"
+msgstr ""
+
+#: stock/models.py:469
+msgid "Destination Sales Order"
+msgstr ""
+
+#: stock/models.py:476
+msgid ""
+"Expiry date for stock item. Stock will be considered expired after this date"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete on deplete"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete this Stock Item when stock is depleted"
+msgstr ""
+
+#: stock/models.py:499 stock/templates/stock/item_notes.html:13
+#: stock/templates/stock/navbar.html:54
+msgid "Stock Item Notes"
+msgstr ""
+
+#: stock/models.py:509
+msgid "Single unit purchase price at time of purchase"
+msgstr ""
+
+#: stock/models.py:614
+msgid "Assigned to Customer"
+msgstr ""
+
+#: stock/models.py:616
+msgid "Manually assigned to customer"
+msgstr ""
+
+#: stock/models.py:629
+msgid "Returned from customer"
+msgstr ""
+
+#: stock/models.py:631
+msgid "Returned to location"
+msgstr ""
+
+#: stock/models.py:792
+msgid "Installed into stock item"
+msgstr ""
+
+#: stock/models.py:800
+msgid "Installed stock item"
+msgstr ""
+
+#: stock/models.py:824
+msgid "Uninstalled stock item"
+msgstr ""
+
+#: stock/models.py:843
+msgid "Uninstalled into location"
+msgstr ""
+
+#: stock/models.py:944
+msgid "Part is not set as trackable"
+msgstr ""
+
+#: stock/models.py:950
+msgid "Quantity must be integer"
+msgstr ""
+
+#: stock/models.py:956
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({n})"
+msgstr ""
+
+#: stock/models.py:959
+msgid "Serial numbers must be a list of integers"
+msgstr ""
+
+#: stock/models.py:962
+msgid "Quantity does not match serial numbers"
+msgstr ""
+
+#: stock/models.py:994
+msgid "Add serial number"
+msgstr ""
+
+#: stock/models.py:997
+#, python-brace-format
+msgid "Serialized {n} items"
+msgstr ""
+
+#: stock/models.py:1075
+msgid "Split from existing stock"
+msgstr ""
+
+#: stock/models.py:1113
+msgid "StockItem cannot be moved as it is not in stock"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Title"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Tracking entry title"
+msgstr ""
+
+#: stock/models.py:1558
+msgid "Entry notes"
+msgstr ""
+
+#: stock/models.py:1560
+msgid "Link to external page for further information"
+msgstr ""
+
+#: stock/models.py:1620
+msgid "Value must be provided for this test"
+msgstr ""
+
+#: stock/models.py:1626
+msgid "Attachment must be uploaded for this test"
+msgstr ""
+
+#: stock/models.py:1644
+msgid "Test name"
+msgstr ""
+
+#: stock/models.py:1650 templates/js/table_filters.js:212
+msgid "Test result"
+msgstr ""
+
+#: stock/models.py:1656
+msgid "Test output value"
+msgstr ""
+
+#: stock/models.py:1663
+msgid "Test result attachment"
+msgstr ""
+
+#: stock/models.py:1669
+msgid "Test notes"
+msgstr ""
+
+#: stock/templates/stock/item.html:12
+msgid "Stock Tracking Information"
+msgstr ""
+
+#: stock/templates/stock/item.html:30
+msgid "New Entry"
+msgstr ""
+
+#: stock/templates/stock/item_attachments.html:11
+msgid "Stock Item Attachments"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:24
+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:31
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:32
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:45
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:53
+#, python-format
+msgid ""
+"This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:61
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:67
+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:71
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:75
+msgid ""
+"This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:145
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:99
+#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:150
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:136 templates/js/barcode.js:309
+#: templates/js/barcode.js:314
+msgid "Unlink Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:138
+msgid "Link Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:140 templates/stock_table.html:31
+msgid "Scan to Location"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:147
+msgid "Printing actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_tests.html:27
+msgid "Test Report"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:160
+msgid "Stock adjustment actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:164
+#: stock/templates/stock/location.html:65 templates/stock_table.html:56
+msgid "Count stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:167 templates/stock_table.html:54
+msgid "Add stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:170 templates/stock_table.html:55
+msgid "Remove stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:173
+msgid "Serialize stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:177
+msgid "Transfer stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:180
+msgid "Assign to customer"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:183
+msgid "Return to stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1299
+msgid "Uninstall stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187
+msgid "Uninstall"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:199
+msgid "Convert to variant"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:202
+msgid "Duplicate stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:204
+msgid "Edit stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:207
+msgid "Delete stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:219
+msgid "Stock Item Details"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:278 templates/js/build.js:498
+msgid "No location set"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:285
+msgid "Barcode Identifier"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:327
+msgid "Parent Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:369
+#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:371
+#, python-format
+msgid "This StockItem expires on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:378 templates/js/stock.js:662
+msgid "Last Updated"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:383
+msgid "Last Stocktake"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:387
+msgid "No stocktake performed"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:12
+msgid "Child Stock Items"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:20
+msgid "This stock item does not have any child items"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:9
+msgid "Are you sure you want to delete this stock item?"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:12
+#, python-format
+msgid ""
+"This will remove %(qty)s units of %(full_name)s from stock."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:7
+msgid "Install another StockItem into this item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:10
+msgid "Stock items can only be installed if they meet the following criteria"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:13
+msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:14
+msgid "The StockItem is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_installed.html:11
+#: stock/templates/stock/navbar.html:27
+msgid "Installed Stock Items"
+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/item_tests.html:11
+#: stock/templates/stock/navbar.html:19 stock/templates/stock/navbar.html:22
+msgid "Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:20
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:24
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/location.html:20
+msgid ""
+"You are not in the list of owners of this location. This stock location "
+"cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:37
+msgid "All stock items"
+msgstr ""
+
+#: stock/templates/stock/location.html:55
+msgid "Check-in Items"
+msgstr ""
+
+#: stock/templates/stock/location.html:71
+msgid "Location actions"
+msgstr ""
+
+#: stock/templates/stock/location.html:73
+msgid "Edit location"
+msgstr ""
+
+#: stock/templates/stock/location.html:75
+msgid "Delete location"
+msgstr ""
+
+#: stock/templates/stock/location.html:87
+msgid "Location Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:92
+msgid "Location Path"
+msgstr ""
+
+#: stock/templates/stock/location.html:97
+msgid "Location Description"
+msgstr ""
+
+#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location_navbar.html:11
+#: stock/templates/stock/location_navbar.html:18
+#: stock/templates/stock/sublocation.html:16
+msgid "Sublocations"
+msgstr ""
+
+#: stock/templates/stock/location.html:112
+msgid "Stock Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: templates/stats.html:76 users/models.py:39
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/templates/stock/location_delete.html:7
+msgid "Are you sure you want to delete this stock location?"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:11
+msgid "Stock Item Tracking"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:14
+msgid "History"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:30
+msgid "Installed Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:38
+msgid "Child Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:41
+msgid "Children"
+msgstr ""
+
+#: stock/templates/stock/stock_adjust.html:43
+msgid "Remove item"
+msgstr ""
+
+#: stock/templates/stock/stock_app_base.html:16
+msgid "Loading..."
+msgstr ""
+
+#: stock/templates/stock/stock_uninstall.html:8
+msgid "The following stock items will be uninstalled"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1332
+msgid "Convert Stock Item"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:8
+#, python-format
+msgid "This stock item is current an instance of %(part)s"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:9
+msgid "It can be converted to one of the part variants listed below."
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:14
+msgid "This action cannot be easily undone"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:23 templates/stock_table.html:37
+msgid "Printing Actions"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:27 templates/stock_table.html:41
+msgid "Print labels"
+msgstr ""
+
+#: stock/templates/stock/tracking_delete.html:6
+msgid "Are you sure you want to delete this stock tracking entry?"
+msgstr ""
+
+#: stock/views.py:123
+msgid "Edit Stock Location"
+msgstr ""
+
+#: stock/views.py:230 stock/views.py:1322 stock/views.py:1433
+#: stock/views.py:1798
+msgid "Owner is required (ownership control is enabled)"
+msgstr ""
+
+#: stock/views.py:245
+msgid "Stock Location QR code"
+msgstr ""
+
+#: stock/views.py:265
+msgid "Add Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:311
+msgid "Edit Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:327
+msgid "Delete Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:343
+msgid "Assign to Customer"
+msgstr ""
+
+#: stock/views.py:352
+msgid "Customer must be specified"
+msgstr ""
+
+#: stock/views.py:376
+msgid "Return to Stock"
+msgstr ""
+
+#: stock/views.py:385
+msgid "Specify a valid location"
+msgstr ""
+
+#: stock/views.py:396
+msgid "Stock item returned from customer"
+msgstr ""
+
+#: stock/views.py:407
+msgid "Delete All Test Data"
+msgstr ""
+
+#: stock/views.py:424
+msgid "Confirm test data deletion"
+msgstr ""
+
+#: stock/views.py:444
+msgid "Add Test Result"
+msgstr ""
+
+#: stock/views.py:484
+msgid "Edit Test Result"
+msgstr ""
+
+#: stock/views.py:501
+msgid "Delete Test Result"
+msgstr ""
+
+#: stock/views.py:509
+msgid "Stock Export Options"
+msgstr ""
+
+#: stock/views.py:630
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/views.py:656
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/views.py:755
+msgid "Uninstall Stock Items"
+msgstr ""
+
+#: stock/views.py:863
+msgid "Uninstalled stock items"
+msgstr ""
+
+#: stock/views.py:888
+msgid "Adjust Stock"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move Stock Items"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count Stock Items"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Remove From Stock"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Take"
+msgstr ""
+
+#: stock/views.py:1001
+msgid "Add Stock Items"
+msgstr ""
+
+#: stock/views.py:1001 users/models.py:180
+msgid "Add"
+msgstr ""
+
+#: stock/views.py:1002
+msgid "Delete Stock Items"
+msgstr ""
+
+#: stock/views.py:1031
+msgid "Must enter integer value"
+msgstr ""
+
+#: stock/views.py:1036
+msgid "Quantity must be positive"
+msgstr ""
+
+#: stock/views.py:1043
+#, python-brace-format
+msgid "Quantity must not exceed {x}"
+msgstr ""
+
+#: stock/views.py:1107
+msgid "No action performed"
+msgstr ""
+
+#: stock/views.py:1122
+#, python-brace-format
+msgid "Added stock to {n} items"
+msgstr ""
+
+#: stock/views.py:1137
+#, python-brace-format
+msgid "Removed stock from {n} items"
+msgstr ""
+
+#: stock/views.py:1150
+#, python-brace-format
+msgid "Counted stock for {n} items"
+msgstr ""
+
+#: stock/views.py:1190
+msgid "No items were moved"
+msgstr ""
+
+#: stock/views.py:1193
+#, python-brace-format
+msgid "Moved {n} items to {dest}"
+msgstr ""
+
+#: stock/views.py:1212
+#, python-brace-format
+msgid "Deleted {n} stock items"
+msgstr ""
+
+#: stock/views.py:1224
+msgid "Edit Stock Item"
+msgstr ""
+
+#: stock/views.py:1450
+msgid "Serialize Stock"
+msgstr ""
+
+#: stock/views.py:1543 templates/js/build.js:244
+msgid "Create new Stock Item"
+msgstr ""
+
+#: stock/views.py:1685
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: stock/views.py:1767
+msgid "Quantity cannot be negative"
+msgstr ""
+
+#: stock/views.py:1867
+msgid "Delete Stock Location"
+msgstr ""
+
+#: stock/views.py:1880
+msgid "Delete Stock Item"
+msgstr ""
+
+#: stock/views.py:1891
+msgid "Delete Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1898
+msgid "Edit Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1907
+msgid "Add Stock Tracking Entry"
+msgstr ""
+
+#: templates/403.html:5 templates/403.html:11
+msgid "Permission Denied"
+msgstr ""
+
+#: templates/403.html:14
+msgid "You do not have permission to view this page."
+msgstr ""
+
+#: templates/404.html:5 templates/404.html:11
+msgid "Page Not Found"
+msgstr ""
+
+#: templates/404.html:14
+msgid "The requested page does not exist"
+msgstr ""
+
+#: templates/InvenTree/index.html:7
+msgid "Index"
+msgstr ""
+
+#: templates/InvenTree/index.html:98
+msgid "Starred Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:99
+msgid "Latest Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:100
+msgid "BOM Waiting Validation"
+msgstr ""
+
+#: templates/InvenTree/index.html:129
+msgid "Recently Updated"
+msgstr ""
+
+#: templates/InvenTree/index.html:145
+msgid "Expired Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:146
+msgid "Stale Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:184
+msgid "Build Orders In Progress"
+msgstr ""
+
+#: templates/InvenTree/index.html:185
+msgid "Overdue Build Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:206
+msgid "Outstanding Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:207
+msgid "Overdue Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:229
+msgid "Outstanding Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:230
+msgid "Overdue Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+msgid "Search Results"
+msgstr ""
+
+#: templates/InvenTree/search.html:24
+msgid "Enter a search query"
+msgstr ""
+
+#: templates/InvenTree/search.html:268 templates/js/stock.js:300
+msgid "Shipped to customer"
+msgstr ""
+
+#: templates/InvenTree/search.html:271 templates/js/stock.js:310
+msgid "No stock location set"
+msgstr ""
+
+#: templates/InvenTree/settings/build.html:10
+msgid "Build Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:9
+msgid "Category Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:25
+msgid "Category Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:52
+msgid "No category parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:70
+#: templates/InvenTree/settings/part.html:81
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:71
+#: templates/InvenTree/settings/part.html:82
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:10
+msgid "Global InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:27
+msgid "Barcode Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/header.html:7
+msgid "Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:9
+msgid "Part Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:14
+msgid "Part Options"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:40
+msgid "Part Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:61
+msgid "No part parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/po.html:9
+msgid "Purchase Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/report.html:10
+msgid "Report Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:23
+msgid "No value set"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:31
+msgid "Edit setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:8
+#: templates/InvenTree/settings/settings.html:14 templates/navbar.html:84
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/so.html:9
+msgid "Sales Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:9
+msgid "Stock Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:49
+msgid "Stock Options"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:3
+#: templates/InvenTree/settings/user.html:10
+msgid "User Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:6
+msgid "Account"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:9
+msgid "Theme"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:13
+msgid "InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:16
+msgid "Global"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:19
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:22
+msgid "Categories"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:10
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:17
+msgid "Color Themes"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:29
+#, python-format
+msgid ""
+"\n"
+"\t\tThe CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected "
+"color theme was not found.
\n"
+"\t\tPlease select another color theme :)\n"
+"\t"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:16
+msgid "User Information"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:21
+msgid "Change Password"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:28
+#: templates/registration/login.html:59
+msgid "Username"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:32
+msgid "First Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:36
+msgid "Last Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:40
+msgid "Email Address"
+msgstr ""
+
+#: templates/about.html:13
+msgid "InvenTree Version Information"
+msgstr ""
+
+#: templates/about.html:22
+msgid "InvenTree Version"
+msgstr ""
+
+#: templates/about.html:26
+msgid "Up to Date"
+msgstr ""
+
+#: templates/about.html:28
+msgid "Update Available"
+msgstr ""
+
+#: templates/about.html:34
+msgid "Django Version"
+msgstr ""
+
+#: templates/about.html:41
+msgid "Commit Hash"
+msgstr ""
+
+#: templates/about.html:48
+msgid "Commit Date"
+msgstr ""
+
+#: templates/about.html:53
+msgid "InvenTree Documentation"
+msgstr ""
+
+#: templates/about.html:58
+msgid "View Code on GitHub"
+msgstr ""
+
+#: templates/about.html:63
+msgid "Get the App"
+msgstr ""
+
+#: templates/about.html:68
+msgid "Submit Bug Report"
+msgstr ""
+
+#: templates/attachment_table.html:6
+msgid "Add Attachment"
+msgstr ""
+
+#: templates/attachment_table.html:15
+msgid "File"
+msgstr ""
+
+#: templates/attachment_table.html:17
+msgid "Uploaded"
+msgstr ""
+
+#: templates/attachment_table.html:35
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/image_download.html:8
+msgid "Specify URL for downloading image"
+msgstr ""
+
+#: templates/image_download.html:11
+msgid "Must be a valid image URL"
+msgstr ""
+
+#: templates/image_download.html:12
+msgid "Remote server must be accessible"
+msgstr ""
+
+#: templates/image_download.html:13
+msgid "Remote image must not exceed maximum allowable file size"
+msgstr ""
+
+#: templates/js/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/barcode.js:119 templates/js/modals.js:857
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:311
+msgid ""
+"This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/barcode.js:376
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/barcode.js:422 templates/js/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/barcode.js:462 templates/js/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/bom.js:175 templates/js/build.js:994
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/bom.js:261
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/filters.js:397
+msgid "true"
+msgstr ""
+
+#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/filters.js:398
+msgid "false"
+msgstr ""
+
+#: templates/js/bom.js:290 templates/js/bom.js:376
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/bom.js:350
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:352
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/bom.js:354
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:356
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/build.js:62
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/build.js:70
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/build.js:80
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/build.js:89
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/build.js:243 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/build.js:549
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/build.js:570
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/build.js:638 templates/js/build.js:1056
+#: templates/stock_table.html:58
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/build.js:691
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
+#: templates/js/stock.js:511 templates/js/stock.js:938
+#: templates/js/stock.js:1331
+msgid "Select"
+msgstr ""
+
+#: templates/js/build.js:728
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/build.js:827
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/company.js:74
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/company.js:83
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/company.js:96
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/company.js:129
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/company.js:148 templates/js/company.js:246
+#: templates/js/part.js:60 templates/js/part.js:145
+msgid "Template part"
+msgstr ""
+
+#: templates/js/company.js:152 templates/js/company.js:250
+#: templates/js/part.js:64 templates/js/part.js:149
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/company.js:227
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/filters.js:268
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/filters.js:271
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/filters.js:296
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/label.js:10 templates/js/report.js:98
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:29 templates/js/label.js:79
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/label.js:154
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/label.js:162
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/label.js:177
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/modals.js:256
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/modals.js:406
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/modals.js:473 templates/modals.html:73
+msgid "Accept"
+msgstr ""
+
+#: templates/js/modals.js:474 templates/modals.html:72
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/modals.js:538
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/modals.js:549 templates/js/modals.js:808
+#: templates/modals.html:29 templates/modals.html:53
+msgid "Submit"
+msgstr ""
+
+#: templates/js/modals.js:550 templates/js/modals.js:809
+#: templates/modals.html:28 templates/modals.html:52 templates/modals.html:93
+msgid "Close"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/modals.js:773
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/modals.js:857
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/modals.js:867
+msgid "No Response"
+msgstr ""
+
+#: templates/js/modals.js:868
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/modals.js:872
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/modals.js:873
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/modals.js:877
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/modals.js:878
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/modals.js:882
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/modals.js:883
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/modals.js:887
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/modals.js:888
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/modals.js:892
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/modals.js:893
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/modals.js:896
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/order.js:138
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/order.js:162 templates/js/order.js:257
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/order.js:234
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/part.js:52 templates/js/part.js:137
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/part.js:56 templates/js/part.js:141
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/part.js:68
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/part.js:72
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/part.js:186
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/part.js:272 templates/js/part.js:452
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/part.js:391
+msgid "No category"
+msgstr ""
+
+#: templates/js/part.js:409 templates/js/table_filters.js:318
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/part.js:571 templates/js/stock.js:962
+msgid "Path"
+msgstr ""
+
+#: templates/js/part.js:588
+msgid "YES"
+msgstr ""
+
+#: templates/js/part.js:590
+msgid "NO"
+msgstr ""
+
+#: templates/js/part.js:624
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/part.js:675 templates/js/stock.js:75
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/part.js:676 templates/js/stock.js:76
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/part.js:682
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/report.js:47
+msgid "items selected"
+msgstr ""
+
+#: templates/js/report.js:55
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/report.js:70
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/report.js:99
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:116 templates/js/report.js:169
+#: templates/js/report.js:223 templates/js/report.js:277
+#: templates/js/report.js:331
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/report.js:117
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/report.js:152
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/report.js:153
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:170
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:224
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/report.js:259
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/report.js:260
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/report.js:278 templates/js/report.js:332
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/report.js:313
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/report.js:314
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/stock.js:38
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:40
+msgid "FAIL"
+msgstr ""
+
+#: templates/js/stock.js:45
+msgid "NO RESULT"
+msgstr ""
+
+#: templates/js/stock.js:71
+msgid "Add test result"
+msgstr ""
+
+#: templates/js/stock.js:90
+msgid "No test results found"
+msgstr ""
+
+#: templates/js/stock.js:132
+msgid "Test Date"
+msgstr ""
+
+#: templates/js/stock.js:292
+msgid "In production"
+msgstr ""
+
+#: templates/js/stock.js:296
+msgid "Installed in Stock Item"
+msgstr ""
+
+#: templates/js/stock.js:304
+msgid "Assigned to Sales Order"
+msgstr ""
+
+#: templates/js/stock.js:336
+msgid "No stock items matching query"
+msgstr ""
+
+#: templates/js/stock.js:357
+msgid "items"
+msgstr ""
+
+#: templates/js/stock.js:449
+msgid "batches"
+msgstr ""
+
+#: templates/js/stock.js:476
+msgid "locations"
+msgstr ""
+
+#: templates/js/stock.js:478
+msgid "Undefined location"
+msgstr ""
+
+#: templates/js/stock.js:579
+msgid "Stock item is in production"
+msgstr ""
+
+#: templates/js/stock.js:584
+msgid "Stock item assigned to sales order"
+msgstr ""
+
+#: templates/js/stock.js:587
+msgid "Stock item assigned to customer"
+msgstr ""
+
+#: templates/js/stock.js:591
+msgid "Stock item has expired"
+msgstr ""
+
+#: templates/js/stock.js:593
+msgid "Stock item will expire soon"
+msgstr ""
+
+#: templates/js/stock.js:597
+msgid "Stock item has been allocated"
+msgstr ""
+
+#: templates/js/stock.js:601
+msgid "Stock item has been installed in another item"
+msgstr ""
+
+#: templates/js/stock.js:609
+msgid "Stock item has been rejected"
+msgstr ""
+
+#: templates/js/stock.js:613
+msgid "Stock item is lost"
+msgstr ""
+
+#: templates/js/stock.js:616
+msgid "Stock item is destroyed"
+msgstr ""
+
+#: templates/js/stock.js:620 templates/js/table_filters.js:138
+msgid "Depleted"
+msgstr ""
+
+#: templates/js/stock.js:649
+msgid "Stocktake"
+msgstr ""
+
+#: templates/js/stock.js:825
+msgid "Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:840
+msgid "Set Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:854
+msgid "Select Status Code"
+msgstr ""
+
+#: templates/js/stock.js:855
+msgid "Status code must be selected"
+msgstr ""
+
+#: templates/js/stock.js:1050
+msgid "No user information"
+msgstr ""
+
+#: templates/js/stock.js:1060
+msgid "Edit tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1061
+msgid "Delete tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1170
+msgid "Create New Location"
+msgstr ""
+
+#: templates/js/stock.js:1269
+msgid "Serial"
+msgstr ""
+
+#: templates/js/stock.js:1362 templates/js/table_filters.js:171
+msgid "Installed"
+msgstr ""
+
+#: templates/js/stock.js:1387
+msgid "Install item"
+msgstr ""
+
+#: templates/js/table_filters.js:42
+msgid "Trackable Part"
+msgstr ""
+
+#: templates/js/table_filters.js:46
+msgid "Validated"
+msgstr ""
+
+#: templates/js/table_filters.js:71
+msgid "Include locations"
+msgstr ""
+
+#: templates/js/table_filters.js:81 templates/js/table_filters.js:82
+#: templates/js/table_filters.js:295
+msgid "Include subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:92 templates/js/table_filters.js:181
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/table_filters.js:95 templates/js/table_filters.js:188
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/table_filters.js:96 templates/js/table_filters.js:189
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:99 templates/js/table_filters.js:192
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/table_filters.js:100 templates/js/table_filters.js:193
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:103 templates/js/table_filters.js:104
+#: templates/js/table_filters.js:184 templates/js/table_filters.js:185
+msgid "Serial number"
+msgstr ""
+
+#: templates/js/table_filters.js:108 templates/js/table_filters.js:202
+msgid "Batch code"
+msgstr ""
+
+#: templates/js/table_filters.js:118 templates/js/table_filters.js:285
+msgid "Active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:119
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:124
+msgid "Part is an assembly"
+msgstr ""
+
+#: templates/js/table_filters.js:128
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:129
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:134
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/table_filters.js:139
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/table_filters.js:146
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/table_filters.js:151
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/table_filters.js:157
+msgid "Show items which are in stock"
+msgstr ""
+
+#: templates/js/table_filters.js:161
+msgid "In Production"
+msgstr ""
+
+#: templates/js/table_filters.js:162
+msgid "Show items which are in production"
+msgstr ""
+
+#: templates/js/table_filters.js:166
+msgid "Include Variants"
+msgstr ""
+
+#: templates/js/table_filters.js:167
+msgid "Include stock items for variant parts"
+msgstr ""
+
+#: templates/js/table_filters.js:172
+msgid "Show stock items which are installed in another item"
+msgstr ""
+
+#: templates/js/table_filters.js:176
+msgid "Sent to customer"
+msgstr ""
+
+#: templates/js/table_filters.js:177
+msgid "Show items which have been assigned to a customer"
+msgstr ""
+
+#: templates/js/table_filters.js:197 templates/js/table_filters.js:198
+msgid "Stock status"
+msgstr ""
+
+#: templates/js/table_filters.js:231
+msgid "Build status"
+msgstr ""
+
+#: templates/js/table_filters.js:250 templates/js/table_filters.js:267
+msgid "Order status"
+msgstr ""
+
+#: templates/js/table_filters.js:255 templates/js/table_filters.js:272
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/table_filters.js:296
+msgid "Include parts in subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:300
+msgid "Has IPN"
+msgstr ""
+
+#: templates/js/table_filters.js:301
+msgid "Part has internal part number"
+msgstr ""
+
+#: templates/js/table_filters.js:306
+msgid "Show active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:314
+msgid "Stock available"
+msgstr ""
+
+#: templates/js/table_filters.js:330
+msgid "Starred"
+msgstr ""
+
+#: templates/js/table_filters.js:342
+msgid "Purchasable"
+msgstr ""
+
+#: templates/js/tables.js:321
+msgid "Loading data"
+msgstr ""
+
+#: templates/js/tables.js:324
+msgid "rows per page"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "Showing"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "to"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "of"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "rows"
+msgstr ""
+
+#: templates/js/tables.js:330 templates/search_form.html:6
+#: templates/search_form.html:8
+msgid "Search"
+msgstr ""
+
+#: templates/js/tables.js:333
+msgid "No matching results"
+msgstr ""
+
+#: templates/js/tables.js:336
+msgid "Hide/Show pagination"
+msgstr ""
+
+#: templates/js/tables.js:339
+msgid "Refresh"
+msgstr ""
+
+#: templates/js/tables.js:342
+msgid "Toggle"
+msgstr ""
+
+#: templates/js/tables.js:345
+msgid "Columns"
+msgstr ""
+
+#: templates/js/tables.js:348
+msgid "All"
+msgstr ""
+
+#: templates/modals.html:21 templates/modals.html:46
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/navbar.html:33
+msgid "Buy"
+msgstr ""
+
+#: templates/navbar.html:43
+msgid "Sell"
+msgstr ""
+
+#: templates/navbar.html:55
+msgid "Scan Barcode"
+msgstr ""
+
+#: templates/navbar.html:77 users/models.py:36
+msgid "Admin"
+msgstr ""
+
+#: templates/navbar.html:79
+msgid "Logout"
+msgstr ""
+
+#: templates/navbar.html:81 templates/registration/login.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:104
+msgid "About InvenTree"
+msgstr ""
+
+#: templates/qr_code.html:11
+msgid "QR data not provided"
+msgstr ""
+
+#: templates/registration/logged_out.html:51
+msgid "You have been logged out"
+msgstr ""
+
+#: templates/registration/logged_out.html:52
+#: templates/registration/password_reset_complete.html:52
+#: templates/registration/password_reset_done.html:59
+msgid "Return to login screen"
+msgstr ""
+
+#: templates/registration/login.html:65
+msgid "Enter username"
+msgstr ""
+
+#: templates/registration/login.html:71
+msgid "Password"
+msgstr ""
+
+#: templates/registration/login.html:84
+msgid "Username / password combination is incorrect"
+msgstr ""
+
+#: templates/registration/login.html:96
+#: templates/registration/password_reset_form.html:52
+msgid "Forgotten your password?"
+msgstr ""
+
+#: templates/registration/login.html:96
+msgid "Click here to reset"
+msgstr ""
+
+#: templates/registration/password_reset_complete.html:51
+msgid "Password reset complete"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:53
+#: templates/registration/password_reset_confirm.html:57
+msgid "Change password"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:61
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:52
+msgid ""
+"We've emailed you instructions for setting your password, if an account "
+"exists with the email you entered. You should receive them shortly."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:55
+msgid ""
+"If you don't receive an email, please make sure you've entered the address "
+"you registered with, and check your spam folder."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:53
+msgid "Enter your email address below."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:54
+msgid "An email will be sent with password reset instructions."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:59
+msgid "Send email"
+msgstr ""
+
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
+#: templates/stats.html:13
+msgid "Instance Name"
+msgstr ""
+
+#: templates/stats.html:19
+msgid "Server status"
+msgstr ""
+
+#: templates/stats.html:22
+msgid "Healthy"
+msgstr ""
+
+#: templates/stats.html:24
+msgid "Issues detected"
+msgstr ""
+
+#: templates/stats.html:31
+msgid "Background Worker"
+msgstr ""
+
+#: templates/stats.html:34
+msgid "Background worker not running"
+msgstr ""
+
+#: templates/stats.html:42
+msgid "Email Settings"
+msgstr ""
+
+#: templates/stats.html:45
+msgid "Email settings not configured"
+msgstr ""
+
+#: templates/stock_table.html:14
+msgid "Export Stock Information"
+msgstr ""
+
+#: templates/stock_table.html:27
+msgid "Barcode Actions"
+msgstr ""
+
+#: templates/stock_table.html:43
+msgid "Print test reports"
+msgstr ""
+
+#: templates/stock_table.html:54
+msgid "Add to selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:55
+msgid "Remove from selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:56
+msgid "Stocktake selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move stock"
+msgstr ""
+
+#: templates/stock_table.html:58
+msgid "Order selected items"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change status"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change stock status"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete selected items"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/yesnolabel.html:4
+msgid "Yes"
+msgstr ""
+
+#: templates/yesnolabel.html:6
+msgid "No"
+msgstr ""
+
+#: users/admin.py:64
+msgid "Users"
+msgstr ""
+
+#: users/admin.py:65
+msgid "Select which users are assigned to this group"
+msgstr ""
+
+#: users/admin.py:187
+msgid "The following users are members of multiple groups:"
+msgstr ""
+
+#: users/admin.py:210
+msgid "Personal info"
+msgstr ""
+
+#: users/admin.py:211
+msgid "Permissions"
+msgstr ""
+
+#: users/admin.py:214
+msgid "Important dates"
+msgstr ""
+
+#: users/models.py:167
+msgid "Permission set"
+msgstr ""
+
+#: users/models.py:175
+msgid "Group"
+msgstr ""
+
+#: users/models.py:178
+msgid "View"
+msgstr ""
+
+#: users/models.py:178
+msgid "Permission to view items"
+msgstr ""
+
+#: users/models.py:180
+msgid "Permission to add items"
+msgstr ""
+
+#: users/models.py:182
+msgid "Change"
+msgstr ""
+
+#: users/models.py:182
+msgid "Permissions to edit items"
+msgstr ""
+
+#: users/models.py:184
+msgid "Permission to delete items"
+msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.mo b/InvenTree/locale/ru/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..7007a3d4e5
Binary files /dev/null and b/InvenTree/locale/ru/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
new file mode 100644
index 0000000000..186157a4de
--- /dev/null
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -0,0 +1,7290 @@
+# 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 , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-04-21 17:15+1000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
+"%100>=11 && n%100<=14)? 2 : 3);\n"
+
+#: InvenTree/api.py:64
+msgid "API endpoint not found"
+msgstr ""
+
+#: InvenTree/api.py:110
+msgid "No action specified"
+msgstr ""
+
+#: InvenTree/api.py:124
+msgid "No matching action found"
+msgstr ""
+
+#: InvenTree/fields.py:44
+msgid "Enter date"
+msgstr ""
+
+#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122
+#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226
+#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
+#: order/forms.py:71 part/forms.py:134
+msgid "Confirm"
+msgstr ""
+
+#: InvenTree/forms.py:126
+msgid "Confirm delete"
+msgstr ""
+
+#: InvenTree/forms.py:127
+msgid "Confirm item deletion"
+msgstr ""
+
+#: InvenTree/forms.py:159 templates/registration/login.html:77
+msgid "Enter password"
+msgstr ""
+
+#: InvenTree/forms.py:160
+msgid "Enter new password"
+msgstr ""
+
+#: InvenTree/forms.py:167
+msgid "Confirm password"
+msgstr ""
+
+#: InvenTree/forms.py:168
+msgid "Confirm new password"
+msgstr ""
+
+#: InvenTree/forms.py:203
+msgid "Apply Theme"
+msgstr ""
+
+#: InvenTree/forms.py:233
+msgid "Select Category"
+msgstr ""
+
+#: InvenTree/helpers.py:375 order/models.py:245 order/models.py:344
+#: stock/views.py:1763
+msgid "Invalid quantity provided"
+msgstr ""
+
+#: InvenTree/helpers.py:378
+msgid "Empty serial number string"
+msgstr ""
+
+#: InvenTree/helpers.py:399
+#, python-brace-format
+msgid "Duplicate serial: {n}"
+msgstr ""
+
+#: InvenTree/helpers.py:403 InvenTree/helpers.py:406 InvenTree/helpers.py:409
+#, python-brace-format
+msgid "Invalid group: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:414
+#, python-brace-format
+msgid "Duplicate serial: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:422
+msgid "No serial numbers found"
+msgstr ""
+
+#: InvenTree/helpers.py:426
+#, python-brace-format
+msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgstr ""
+
+#: InvenTree/models.py:59 stock/models.py:1662
+msgid "Attachment"
+msgstr ""
+
+#: InvenTree/models.py:60
+msgid "Select file to attach"
+msgstr ""
+
+#: InvenTree/models.py:62 templates/attachment_table.html:16
+msgid "Comment"
+msgstr ""
+
+#: InvenTree/models.py:62
+msgid "File comment"
+msgstr ""
+
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1908
+#: report/templates/report/inventree_test_report_base.html:91
+#: templates/js/stock.js:1041
+msgid "User"
+msgstr ""
+
+#: InvenTree/models.py:72
+msgid "upload date"
+msgstr ""
+
+#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:101
+#: part/models.py:686 part/models.py:2049 part/templates/part/params.html:27
+#: report/models.py:179 templates/InvenTree/search.html:137
+#: templates/InvenTree/search.html:289 templates/js/part.js:110
+#: templates/js/part.js:553 templates/js/stock.js:944
+msgid "Name"
+msgstr ""
+
+#: InvenTree/models.py:114 build/models.py:134
+#: build/templates/build/detail.html:21 company/models.py:342
+#: company/models.py:494 company/templates/company/detail.html:27
+#: company/templates/company/manufacturer_part_base.html:72
+#: company/templates/company/supplier_part_base.html:71
+#: company/templates/company/supplier_part_detail.html:31 label/models.py:108
+#: order/models.py:101 order/templates/order/purchase_order_detail.html:168
+#: part/models.py:710 part/templates/part/detail.html:54
+#: part/templates/part/set_category.html:14 report/models.py:192
+#: report/models.py:505 report/models.py:544
+#: report/templates/report/inventree_build_order_base.html:118
+#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
+#: templates/InvenTree/search.html:296
+#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
+#: templates/js/build.js:736 templates/js/build.js:1004
+#: templates/js/company.js:56 templates/js/order.js:183
+#: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252
+#: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643
+#: templates/js/stock.js:554 templates/js/stock.js:956
+#: templates/js/stock.js:1015
+msgid "Description"
+msgstr ""
+
+#: InvenTree/models.py:115
+msgid "Description (optional)"
+msgstr ""
+
+#: InvenTree/models.py:123
+msgid "parent"
+msgstr ""
+
+#: InvenTree/settings.py:493
+msgid "English"
+msgstr ""
+
+#: InvenTree/settings.py:494
+msgid "French"
+msgstr ""
+
+#: InvenTree/settings.py:495
+msgid "German"
+msgstr ""
+
+#: InvenTree/settings.py:496
+msgid "Polish"
+msgstr ""
+
+#: InvenTree/settings.py:497
+msgid "Turkish"
+msgstr ""
+
+#: InvenTree/status.py:93
+msgid "Background worker check failed"
+msgstr ""
+
+#: InvenTree/status.py:97
+msgid "Email backend not configured"
+msgstr ""
+
+#: InvenTree/status.py:100
+msgid "InvenTree system health checks failed"
+msgstr ""
+
+#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143
+#: InvenTree/status_codes.py:236
+msgid "Pending"
+msgstr ""
+
+#: InvenTree/status_codes.py:103
+msgid "Placed"
+msgstr ""
+
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239
+msgid "Complete"
+msgstr ""
+
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:238
+msgid "Cancelled"
+msgstr ""
+
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:188
+msgid "Lost"
+msgstr ""
+
+#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
+#: InvenTree/status_codes.py:190
+msgid "Returned"
+msgstr ""
+
+#: InvenTree/status_codes.py:144
+#: order/templates/order/sales_order_base.html:124
+msgid "Shipped"
+msgstr ""
+
+#: InvenTree/status_codes.py:184
+msgid "OK"
+msgstr ""
+
+#: InvenTree/status_codes.py:185
+msgid "Attention needed"
+msgstr ""
+
+#: InvenTree/status_codes.py:186
+msgid "Damaged"
+msgstr ""
+
+#: InvenTree/status_codes.py:187
+msgid "Destroyed"
+msgstr ""
+
+#: InvenTree/status_codes.py:189
+msgid "Rejected"
+msgstr ""
+
+#: InvenTree/status_codes.py:237
+msgid "Production"
+msgstr ""
+
+#: InvenTree/validators.py:22
+msgid "Not a valid currency code"
+msgstr ""
+
+#: InvenTree/validators.py:50
+msgid "Invalid character in part name"
+msgstr ""
+
+#: InvenTree/validators.py:63
+#, python-brace-format
+msgid "IPN must match regex pattern {pat}"
+msgstr ""
+
+#: InvenTree/validators.py:77 InvenTree/validators.py:91
+#: InvenTree/validators.py:105
+msgid "Reference must match pattern"
+msgstr ""
+
+#: InvenTree/validators.py:113
+#, python-brace-format
+msgid "Illegal character in name ({x})"
+msgstr ""
+
+#: InvenTree/validators.py:132 InvenTree/validators.py:148
+msgid "Overage value must not be negative"
+msgstr ""
+
+#: InvenTree/validators.py:150
+msgid "Overage must not exceed 100%"
+msgstr ""
+
+#: InvenTree/validators.py:157
+msgid "Overage must be an integer value or a percentage"
+msgstr ""
+
+#: InvenTree/views.py:587
+msgid "Delete Item"
+msgstr ""
+
+#: InvenTree/views.py:636
+msgid "Check box to confirm item deletion"
+msgstr ""
+
+#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+msgid "Edit User Information"
+msgstr ""
+
+#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+msgid "Set Password"
+msgstr ""
+
+#: InvenTree/views.py:681
+msgid "Password fields must match"
+msgstr ""
+
+#: InvenTree/views.py:887 templates/navbar.html:95
+msgid "System Information"
+msgstr ""
+
+#: barcodes/api.py:53 barcodes/api.py:150
+msgid "Must provide barcode_data parameter"
+msgstr ""
+
+#: barcodes/api.py:126
+msgid "No match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:128
+msgid "Match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:153
+msgid "Must provide stockitem parameter"
+msgstr ""
+
+#: barcodes/api.py:160
+msgid "No matching stock item found"
+msgstr ""
+
+#: barcodes/api.py:190
+msgid "Barcode already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:194
+msgid "Barcode already matches StockLocation object"
+msgstr ""
+
+#: barcodes/api.py:198
+msgid "Barcode already matches Part object"
+msgstr ""
+
+#: barcodes/api.py:204 barcodes/api.py:216
+msgid "Barcode hash already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:222
+msgid "Barcode associated with StockItem"
+msgstr ""
+
+#: build/forms.py:36
+msgid "Build Order reference"
+msgstr ""
+
+#: build/forms.py:37
+msgid "Order target date"
+msgstr ""
+
+#: build/forms.py:41 build/templates/build/build_base.html:136
+#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
+#: order/templates/order/order_base.html:124
+#: order/templates/order/sales_order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/build.js:783 templates/js/order.js:200
+#: templates/js/order.js:298
+msgid "Target Date"
+msgstr ""
+
+#: build/forms.py:42 build/models.py:224
+msgid ""
+"Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227
+#: build/templates/build/allocation_card.html:23
+#: build/templates/build/auto_allocate.html:17
+#: build/templates/build/build_base.html:123
+#: build/templates/build/detail.html:31 common/models.py:703
+#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
+#: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261
+#: order/forms.py:278 order/models.py:593 order/models.py:784
+#: order/templates/order/order_wizard/select_parts.html:32
+#: order/templates/order/purchase_order_detail.html:200
+#: order/templates/order/sales_order_detail.html:70
+#: order/templates/order/sales_order_detail.html:77
+#: order/templates/order/sales_order_detail.html:159
+#: order/templates/order/sales_order_detail.html:224 part/forms.py:342
+#: part/forms.py:371 part/forms.py:387 part/models.py:2178
+#: part/templates/part/allocation.html:19
+#: part/templates/part/allocation.html:53
+#: part/templates/part/part_pricing.html:11
+#: part/templates/part/part_pricing.html:18
+#: part/templates/part/sale_prices.html:85
+#: report/templates/report/inventree_build_order_base.html:114
+#: report/templates/report/inventree_po_report.html:91
+#: report/templates/report/inventree_so_report.html:91
+#: report/templates/report/inventree_test_report_base.html:77
+#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566
+#: stock/templates/stock/item_base.html:244
+#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
+#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
+#: templates/js/stock.js:1033 templates/js/stock.js:1271
+msgid "Quantity"
+msgstr ""
+
+#: build/forms.py:48
+msgid "Number of items to build"
+msgstr ""
+
+#: build/forms.py:90
+msgid "Enter quantity for build output"
+msgstr ""
+
+#: build/forms.py:94 order/forms.py:233 stock/forms.py:118
+msgid "Serial Numbers"
+msgstr ""
+
+#: build/forms.py:96
+msgid "Enter serial numbers for build outputs"
+msgstr ""
+
+#: build/forms.py:102
+msgid "Confirm creation of build output"
+msgstr ""
+
+#: build/forms.py:123
+msgid "Confirm deletion of build output"
+msgstr ""
+
+#: build/forms.py:144
+msgid "Confirm unallocation of stock"
+msgstr ""
+
+#: build/forms.py:168
+msgid "Confirm stock allocation"
+msgstr ""
+
+#: build/forms.py:185
+msgid "Mark build as complete"
+msgstr ""
+
+#: build/forms.py:209 build/templates/build/auto_allocate.html:18
+#: order/forms.py:82 stock/forms.py:347
+#: stock/templates/stock/item_base.html:274
+#: stock/templates/stock/stock_adjust.html:17
+#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
+#: templates/js/barcode.js:531 templates/js/build.js:490
+#: templates/js/stock.js:641
+msgid "Location"
+msgstr ""
+
+#: build/forms.py:210
+msgid "Location of completed parts"
+msgstr ""
+
+#: build/forms.py:214 build/templates/build/build_base.html:128
+#: build/templates/build/detail.html:59 order/models.py:445
+#: order/templates/order/receive_parts.html:24
+#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
+#: templates/js/barcode.js:119 templates/js/build.js:770
+#: templates/js/order.js:187 templates/js/order.js:285
+#: templates/js/stock.js:628 templates/js/stock.js:1279
+msgid "Status"
+msgstr ""
+
+#: build/forms.py:215
+msgid "Build output stock status"
+msgstr ""
+
+#: build/forms.py:222
+msgid "Confirm incomplete"
+msgstr ""
+
+#: build/forms.py:223
+msgid "Confirm completion with incomplete stock allocation"
+msgstr ""
+
+#: build/forms.py:226
+msgid "Confirm build completion"
+msgstr ""
+
+#: build/forms.py:251
+msgid "Confirm cancel"
+msgstr ""
+
+#: build/forms.py:251 build/views.py:66
+msgid "Confirm build cancellation"
+msgstr ""
+
+#: build/forms.py:265
+msgid "Select quantity of stock to allocate"
+msgstr ""
+
+#: build/models.py:65 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:63
+#: part/templates/part/allocation.html:23
+#: report/templates/report/inventree_build_order_base.html:106
+msgid "Build Order"
+msgstr ""
+
+#: build/models.py:66 build/templates/build/index.html:8
+#: build/templates/build/index.html:15 order/templates/order/so_builds.html:12
+#: order/templates/order/so_navbar.html:19
+#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
+#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
+#: templates/InvenTree/search.html:185
+#: templates/InvenTree/settings/tabs.html:31 users/models.py:41
+msgid "Build Orders"
+msgstr ""
+
+#: build/models.py:126
+msgid "Build Order Reference"
+msgstr ""
+
+#: build/models.py:127 order/models.py:99 order/models.py:595
+#: order/templates/order/purchase_order_detail.html:195
+#: order/templates/order/sales_order_detail.html:219 part/models.py:2187
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
+#: templates/js/build.js:565 templates/js/build.js:1008
+msgid "Reference"
+msgstr ""
+
+#: build/models.py:137
+msgid "Brief description of the build"
+msgstr ""
+
+#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/templates/build/detail.html:77
+msgid "Parent Build"
+msgstr ""
+
+#: build/models.py:147
+msgid "BuildOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:152 build/templates/build/auto_allocate.html:16
+#: build/templates/build/build_base.html:118
+#: build/templates/build/detail.html:26 company/models.py:669
+#: order/models.py:637 order/models.py:669
+#: order/templates/order/order_wizard/select_parts.html:30
+#: order/templates/order/purchase_order_detail.html:156
+#: order/templates/order/receive_parts.html:19
+#: order/templates/order/sales_order_detail.html:207 part/models.py:321
+#: part/models.py:1876 part/models.py:1888 part/models.py:1906
+#: part/models.py:1981 part/models.py:2077 part/models.py:2162
+#: part/templates/part/part_app_base.html:8
+#: part/templates/part/part_pricing.html:14 part/templates/part/related.html:29
+#: part/templates/part/set_category.html:13
+#: report/templates/report/inventree_build_order_base.html:110
+#: report/templates/report/inventree_po_report.html:90
+#: report/templates/report/inventree_so_report.html:90
+#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
+#: templates/js/barcode.js:362 templates/js/bom.js:163
+#: templates/js/build.js:741 templates/js/build.js:981
+#: templates/js/company.js:140 templates/js/company.js:238
+#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
+#: templates/js/stock.js:1343
+msgid "Part"
+msgstr ""
+
+#: build/models.py:160
+msgid "Select part to build"
+msgstr ""
+
+#: build/models.py:165
+msgid "Sales Order Reference"
+msgstr ""
+
+#: build/models.py:169
+msgid "SalesOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:174
+msgid "Source Location"
+msgstr ""
+
+#: build/models.py:178
+msgid ""
+"Select location to take stock from for this build (leave blank to take from "
+"any stock location)"
+msgstr ""
+
+#: build/models.py:183
+msgid "Destination Location"
+msgstr ""
+
+#: build/models.py:187
+msgid "Select location where the completed items will be stored"
+msgstr ""
+
+#: build/models.py:191
+msgid "Build Quantity"
+msgstr ""
+
+#: build/models.py:194
+msgid "Number of stock items to build"
+msgstr ""
+
+#: build/models.py:198
+msgid "Completed items"
+msgstr ""
+
+#: build/models.py:200
+msgid "Number of stock items which have been completed"
+msgstr ""
+
+#: build/models.py:204 part/templates/part/part_base.html:160
+msgid "Build Status"
+msgstr ""
+
+#: build/models.py:208
+msgid "Build status code"
+msgstr ""
+
+#: build/models.py:212 stock/models.py:432
+msgid "Batch Code"
+msgstr ""
+
+#: build/models.py:216
+msgid "Batch code for this build output"
+msgstr ""
+
+#: build/models.py:219 order/models.py:105 part/models.py:882
+#: part/templates/part/detail.html:126 templates/js/order.js:293
+msgid "Creation Date"
+msgstr ""
+
+#: build/models.py:223 order/models.py:451
+msgid "Target completion date"
+msgstr ""
+
+#: build/models.py:227 order/models.py:218 templates/js/build.js:788
+msgid "Completion Date"
+msgstr ""
+
+#: build/models.py:233
+msgid "completed by"
+msgstr ""
+
+#: build/models.py:241
+msgid "Issued by"
+msgstr ""
+
+#: build/models.py:242
+msgid "User who issued this build order"
+msgstr ""
+
+#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/templates/build/detail.html:105 order/models.py:119
+#: order/templates/order/order_base.html:138
+#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: report/templates/report/inventree_build_order_base.html:159
+msgid "Responsible"
+msgstr ""
+
+#: build/models.py:251
+msgid "User responsible for this build order"
+msgstr ""
+
+#: build/models.py:256 build/templates/build/detail.html:91
+#: company/templates/company/manufacturer_part_base.html:79
+#: company/templates/company/manufacturer_part_detail.html:28
+#: company/templates/company/supplier_part_base.html:78
+#: company/templates/company/supplier_part_detail.html:28
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
+#: stock/models.py:426 stock/templates/stock/item_base.html:334
+msgid "External Link"
+msgstr ""
+
+#: build/models.py:257 part/models.py:744 stock/models.py:428
+msgid "Link to external URL"
+msgstr ""
+
+#: build/models.py:261 build/templates/build/navbar.html:53
+#: company/models.py:135 company/models.py:501
+#: company/templates/company/navbar.html:70
+#: company/templates/company/navbar.html:73 order/models.py:123
+#: order/models.py:597 order/templates/order/po_navbar.html:29
+#: order/templates/order/po_navbar.html:32
+#: order/templates/order/purchase_order_detail.html:234
+#: order/templates/order/sales_order_detail.html:264
+#: order/templates/order/so_navbar.html:33
+#: order/templates/order/so_navbar.html:36 part/models.py:871
+#: part/templates/part/navbar.html:128
+#: report/templates/report/inventree_build_order_base.html:173
+#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
+#: stock/models.py:498 stock/models.py:1558 stock/models.py:1668
+#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
+#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+msgid "Notes"
+msgstr ""
+
+#: build/models.py:262
+msgid "Extra build notes"
+msgstr ""
+
+#: build/models.py:739
+msgid "No build output specified"
+msgstr ""
+
+#: build/models.py:742
+msgid "Build output is already completed"
+msgstr ""
+
+#: build/models.py:745
+msgid "Build output does not match Build Order"
+msgstr ""
+
+#: build/models.py:838
+msgid "Completed build output"
+msgstr ""
+
+#: build/models.py:1118
+msgid "BuildItem must be unique for build, stock_item and install_into"
+msgstr ""
+
+#: build/models.py:1143
+msgid ""
+"Build item must specify a build output, as master part is marked as trackable"
+msgstr ""
+
+#: build/models.py:1147
+#, python-brace-format
+msgid "Selected stock item not found in BOM for part '{p}'"
+msgstr ""
+
+#: build/models.py:1151
+#, python-brace-format
+msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
+msgstr ""
+
+#: build/models.py:1158 order/models.py:758
+msgid "StockItem is over-allocated"
+msgstr ""
+
+#: build/models.py:1162 order/models.py:761
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1166
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1206 stock/templates/stock/item_base.html:306
+#: templates/InvenTree/search.html:183 templates/js/build.js:714
+#: templates/navbar.html:29
+msgid "Build"
+msgstr ""
+
+#: build/models.py:1207
+msgid "Build to allocate parts"
+msgstr ""
+
+#: build/models.py:1214 part/templates/part/allocation.html:18
+#: part/templates/part/allocation.html:24
+#: part/templates/part/allocation.html:31
+#: part/templates/part/allocation.html:49
+#: stock/templates/stock/item_base.html:8
+#: stock/templates/stock/item_base.html:93
+#: stock/templates/stock/item_base.html:328
+#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
+#: templates/js/stock.js:1004 templates/js/stock.js:1262
+msgid "Stock Item"
+msgstr ""
+
+#: build/models.py:1215
+msgid "Source stock item"
+msgstr ""
+
+#: build/models.py:1228
+msgid "Stock quantity to allocate to build"
+msgstr ""
+
+#: build/models.py:1236
+msgid "Install into"
+msgstr ""
+
+#: build/models.py:1237
+msgid "Destination stock item"
+msgstr ""
+
+#: build/templates/build/allocate.html:7
+msgid "Allocate Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:15
+msgid "Allocate Stock to Build"
+msgstr ""
+
+#: build/templates/build/allocate.html:22
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/allocate.html:23
+msgid "Auto Allocate"
+msgstr ""
+
+#: build/templates/build/allocate.html:25 templates/js/build.js:646
+msgid "Unallocate stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794
+msgid "Unallocate Stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:29
+msgid "Order required parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:30
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32 order/views.py:794
+#: part/templates/part/category.html:127
+msgid "Order Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:36
+msgid "Untracked stock has been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:40
+msgid "Untracked stock has not been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:47
+msgid "This Build Order does not have any associated untracked BOM items"
+msgstr ""
+
+#: build/templates/build/allocation_card.html:21
+#: build/templates/build/complete_output.html:46
+#: order/templates/order/sales_order_detail.html:75
+#: order/templates/order/sales_order_detail.html:157
+#: report/templates/report/inventree_test_report_base.html:75
+#: stock/models.py:420 stock/templates/stock/item_base.html:238
+#: templates/js/build.js:474
+msgid "Serial Number"
+msgstr ""
+
+#: build/templates/build/attachments.html:12
+#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
+#: order/templates/order/po_navbar.html:26
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
+#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: stock/templates/stock/navbar.html:50
+msgid "Attachments"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:9
+msgid "Automatically Allocate Stock"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:10
+msgid ""
+"The following stock items will be allocated to the specified build output"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:37
+msgid "No stock items found that can be automatically allocated to this build"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:39
+msgid "Stock items will have to be manually allocated"
+msgstr ""
+
+#: build/templates/build/build_base.html:16
+#, python-format
+msgid "This Build Order is allocated to Sales Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:22
+#, python-format
+msgid "This Build Order is a child of Build Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:31
+msgid "Build Order is ready to mark as completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:36
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr ""
+
+#: build/templates/build/build_base.html:41
+msgid "Required build quantity has not yet been completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:46
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:65
+#: company/templates/company/company_base.html:40
+#: company/templates/company/manufacturer_part_base.html:25
+#: company/templates/company/supplier_part_base.html:26
+#: order/templates/order/order_base.html:26
+#: order/templates/order/sales_order_base.html:35
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
+#: stock/templates/stock/item_base.html:118
+#: stock/templates/stock/location.html:31
+msgid "Admin view"
+msgstr ""
+
+#: build/templates/build/build_base.html:71
+#: build/templates/build/build_base.html:140
+#: order/templates/order/order_base.html:32
+#: order/templates/order/order_base.html:86
+#: order/templates/order/sales_order_base.html:41
+#: order/templates/order/sales_order_base.html:86
+#: templates/js/table_filters.js:240 templates/js/table_filters.js:259
+#: templates/js/table_filters.js:276
+msgid "Overdue"
+msgstr ""
+
+#: build/templates/build/build_base.html:80
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:84
+msgid "Print Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:90
+#: build/templates/build/build_base.html:215
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:95
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:99
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:101
+#: build/templates/build/build_base.html:199 build/views.py:57
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:114
+#: build/templates/build/detail.html:11
+msgid "Build Details"
+msgstr ""
+
+#: build/templates/build/build_base.html:140
+#, python-format
+msgid "This build was due on %(target)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:147
+#: build/templates/build/detail.html:64
+msgid "Progress"
+msgstr ""
+
+#: build/templates/build/build_base.html:160
+#: build/templates/build/detail.html:84 order/models.py:667
+#: order/templates/order/sales_order_base.html:9
+#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_ship.html:25
+#: part/templates/part/allocation.html:30
+#: report/templates/report/inventree_build_order_base.html:136
+#: report/templates/report/inventree_so_report.html:77
+#: stock/templates/stock/item_base.html:268 templates/js/order.js:245
+msgid "Sales Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:167
+#: build/templates/build/detail.html:98
+#: report/templates/report/inventree_build_order_base.html:153
+msgid "Issued By"
+msgstr ""
+
+#: build/templates/build/build_base.html:207
+msgid "Incomplete Outputs"
+msgstr ""
+
+#: build/templates/build/build_base.html:208
+msgid "Build Order cannot be completed as incomplete build outputs remain"
+msgstr ""
+
+#: build/templates/build/build_children.html:10
+#: build/templates/build/navbar.html:36
+msgid "Child Build Orders"
+msgstr ""
+
+#: build/templates/build/build_output.html:15
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output.html:22
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:23
+msgid "Create New Output"
+msgstr ""
+
+#: build/templates/build/build_output.html:36
+msgid "Create a new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:37
+msgid "No incomplete build outputs remain."
+msgstr ""
+
+#: build/templates/build/build_output.html:38
+msgid "Create a new build output using the button above"
+msgstr ""
+
+#: build/templates/build/build_output.html:49
+msgid "Completed Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:7
+msgid "The Bill of Materials contains trackable parts"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:8
+msgid "Build outputs must be generated individually."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:9
+msgid "Multiple build outputs will be created based on the quantity specified."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:15
+msgid "Trackable parts can have serial numbers specified"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:16
+msgid "Enter serial numbers to generate multiple single build outputs"
+msgstr ""
+
+#: build/templates/build/cancel.html:5
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: build/templates/build/complete.html:8
+msgid "Build Order is complete"
+msgstr ""
+
+#: build/templates/build/complete.html:12
+msgid "Build Order is incomplete"
+msgstr ""
+
+#: build/templates/build/complete.html:15
+msgid "Incompleted build outputs remain"
+msgstr ""
+
+#: build/templates/build/complete.html:18
+msgid "Required build quantity has not been completed"
+msgstr ""
+
+#: build/templates/build/complete.html:21
+msgid "Required stock has not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:10
+msgid "Stock allocation is complete for this output"
+msgstr ""
+
+#: build/templates/build/complete_output.html:14
+msgid "Stock allocation is incomplete"
+msgstr ""
+
+#: build/templates/build/complete_output.html:20
+msgid "tracked parts have not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:41
+msgid "The following items will be created"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:7
+msgid "Select a stock item to allocate to the selected build output"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:11
+#, python-format
+msgid ""
+"The allocated stock will be installed into the following build output:
"
+"%(output)s"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:17
+#, python-format
+msgid "No stock available for %(part)s"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:8
+msgid "Are you sure you want to unallocate this stock?"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:11
+msgid "The selected stock will be unallocated from the build output"
+msgstr ""
+
+#: build/templates/build/detail.html:35
+msgid "Stock Source"
+msgstr ""
+
+#: build/templates/build/detail.html:40
+msgid "Stock can be taken from any available location."
+msgstr ""
+
+#: build/templates/build/detail.html:46 stock/forms.py:169 stock/forms.py:375
+msgid "Destination"
+msgstr ""
+
+#: build/templates/build/detail.html:53
+msgid "Destination location not specified"
+msgstr ""
+
+#: build/templates/build/detail.html:70
+#: stock/templates/stock/item_base.html:292 templates/js/stock.js:636
+#: templates/js/stock.js:1286 templates/js/table_filters.js:107
+#: templates/js/table_filters.js:201
+msgid "Batch"
+msgstr ""
+
+#: build/templates/build/detail.html:116
+#: order/templates/order/order_base.html:111
+#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+msgid "Created"
+msgstr ""
+
+#: build/templates/build/detail.html:127
+msgid "No target date set"
+msgstr ""
+
+#: build/templates/build/detail.html:132 templates/js/build.js:756
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/detail.html:136
+msgid "Build not complete"
+msgstr ""
+
+#: build/templates/build/edit_build_item.html:7
+msgid "Alter the quantity of stock allocated to the build output"
+msgstr ""
+
+#: build/templates/build/index.html:28 build/views.py:667
+msgid "New Build Order"
+msgstr ""
+
+#: build/templates/build/index.html:37 build/templates/build/index.html:38
+msgid "Print Build Orders"
+msgstr ""
+
+#: build/templates/build/index.html:43
+#: order/templates/order/purchase_orders.html:27
+#: order/templates/order/sales_orders.html:27
+msgid "Display calendar view"
+msgstr ""
+
+#: build/templates/build/index.html:46
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:30
+msgid "Display list view"
+msgstr ""
+
+#: build/templates/build/navbar.html:12
+msgid "Build Order Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:15
+#: company/templates/company/navbar.html:15
+#: order/templates/order/po_navbar.html:14
+#: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15
+msgid "Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24
+#: build/views.py:91
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32
+msgid "Build Outputs"
+msgstr ""
+
+#: build/templates/build/navbar.html:39
+msgid "Child Builds"
+msgstr ""
+
+#: build/templates/build/navbar.html:50
+msgid "Build Order Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:12
+msgid "Build Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:14 company/templates/company/notes.html:13
+#: order/templates/order/order_notes.html:15
+#: order/templates/order/sales_order_notes.html:16
+#: part/templates/part/notes.html:14 stock/templates/stock/item_notes.html:15
+msgid "Edit notes"
+msgstr ""
+
+#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
+#: order/templates/order/order_notes.html:27
+#: order/templates/order/sales_order_notes.html:29
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:470
+#: stock/templates/stock/item_notes.html:26
+msgid "Save"
+msgstr ""
+
+#: build/templates/build/unallocate.html:10
+msgid "Are you sure you wish to unallocate all stock for this build?"
+msgstr ""
+
+#: build/templates/build/unallocate.html:12
+msgid "All incomplete stock allocations will be removed from the build"
+msgstr ""
+
+#: build/views.py:77
+msgid "Build was cancelled"
+msgstr ""
+
+#: build/views.py:138
+msgid "Allocated stock to build output"
+msgstr ""
+
+#: build/views.py:150
+msgid "Create Build Output"
+msgstr ""
+
+#: build/views.py:173 stock/models.py:969 stock/views.py:1789
+msgid "Serial numbers already exist"
+msgstr ""
+
+#: build/views.py:182
+msgid "Serial numbers required for trackable build output"
+msgstr ""
+
+#: build/views.py:248
+msgid "Delete Build Output"
+msgstr ""
+
+#: build/views.py:269 build/views.py:359
+msgid "Confirm unallocation of build stock"
+msgstr ""
+
+#: build/views.py:270 build/views.py:360 stock/views.py:425
+msgid "Check the confirmation box"
+msgstr ""
+
+#: build/views.py:282
+msgid "Build output does not match build"
+msgstr ""
+
+#: build/views.py:284 build/views.py:485
+msgid "Build output must be specified"
+msgstr ""
+
+#: build/views.py:296
+msgid "Build output deleted"
+msgstr ""
+
+#: build/views.py:394
+msgid "Complete Build Order"
+msgstr ""
+
+#: build/views.py:400
+msgid "Build order cannot be completed - incomplete outputs remain"
+msgstr ""
+
+#: build/views.py:411
+msgid "Completed build order"
+msgstr ""
+
+#: build/views.py:427
+msgid "Complete Build Output"
+msgstr ""
+
+#: build/views.py:469
+msgid "Invalid stock status value selected"
+msgstr ""
+
+#: build/views.py:476
+msgid "Quantity to complete cannot exceed build output quantity"
+msgstr ""
+
+#: build/views.py:482
+msgid "Confirm completion of incomplete build"
+msgstr ""
+
+#: build/views.py:581
+msgid "Build output completed"
+msgstr ""
+
+#: build/views.py:721
+msgid "Created new build"
+msgstr ""
+
+#: build/views.py:742
+msgid "Edit Build Order Details"
+msgstr ""
+
+#: build/views.py:775
+msgid "Edited build"
+msgstr ""
+
+#: build/views.py:784
+msgid "Delete Build Order"
+msgstr ""
+
+#: build/views.py:799
+msgid "Removed parts from build allocation"
+msgstr ""
+
+#: build/views.py:811
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: build/views.py:854
+msgid "Item must be currently in stock"
+msgstr ""
+
+#: build/views.py:860
+msgid "Stock item is over-allocated"
+msgstr ""
+
+#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575
+#: templates/js/build.js:838 templates/js/build.js:1021
+msgid "Available"
+msgstr ""
+
+#: build/views.py:863
+msgid "Stock item must be selected"
+msgstr ""
+
+#: build/views.py:1026
+msgid "Edit Stock Allocation"
+msgstr ""
+
+#: build/views.py:1030
+msgid "Updated Build Item"
+msgstr ""
+
+#: build/views.py:1059
+msgid "Add Build Order Attachment"
+msgstr ""
+
+#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172
+#: stock/views.py:277
+msgid "Added attachment"
+msgstr ""
+
+#: build/views.py:1108 order/views.py:189 order/views.py:210
+msgid "Edit Attachment"
+msgstr ""
+
+#: build/views.py:1118 order/views.py:193 order/views.py:214
+msgid "Attachment updated"
+msgstr ""
+
+#: build/views.py:1128 order/views.py:229 order/views.py:243
+msgid "Delete Attachment"
+msgstr ""
+
+#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333
+msgid "Deleted attachment"
+msgstr ""
+
+#: common/models.py:56
+msgid "InvenTree Instance Name"
+msgstr ""
+
+#: common/models.py:58
+msgid "String descriptor for the server instance"
+msgstr ""
+
+#: common/models.py:62
+msgid "Use instance name"
+msgstr ""
+
+#: common/models.py:63
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:69 company/models.py:97 company/models.py:98
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:70
+msgid "Internal company name"
+msgstr ""
+
+#: common/models.py:75
+msgid "Base URL"
+msgstr ""
+
+#: common/models.py:76
+msgid "Base URL for server instance"
+msgstr ""
+
+#: common/models.py:82
+msgid "Default Currency"
+msgstr ""
+
+#: common/models.py:83
+msgid "Default currency"
+msgstr ""
+
+#: common/models.py:89
+msgid "Download from URL"
+msgstr ""
+
+#: common/models.py:90
+msgid "Allow download of remote images and files from external URL"
+msgstr ""
+
+#: common/models.py:96
+msgid "Barcode Support"
+msgstr ""
+
+#: common/models.py:97
+msgid "Enable barcode scanner support"
+msgstr ""
+
+#: common/models.py:103
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:104
+msgid "Regular expression pattern for matching Part IPN"
+msgstr ""
+
+#: common/models.py:108
+msgid "Allow Duplicate IPN"
+msgstr ""
+
+#: common/models.py:109
+msgid "Allow multiple parts to share the same IPN"
+msgstr ""
+
+#: common/models.py:115
+msgid "Allow Editing IPN"
+msgstr ""
+
+#: common/models.py:116
+msgid "Allow changing the IPN value while editing a part"
+msgstr ""
+
+#: common/models.py:122
+msgid "Copy Part BOM Data"
+msgstr ""
+
+#: common/models.py:123
+msgid "Copy BOM data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:129
+msgid "Copy Part Parameter Data"
+msgstr ""
+
+#: common/models.py:130
+msgid "Copy parameter data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:136
+msgid "Copy Part Test Data"
+msgstr ""
+
+#: common/models.py:137
+msgid "Copy test data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:143
+msgid "Copy Category Parameter Templates"
+msgstr ""
+
+#: common/models.py:144
+msgid "Copy category parameter templates when creating a part"
+msgstr ""
+
+#: common/models.py:150
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:151
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:157 part/models.py:2079 part/templates/part/detail.html:160
+#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:24
+#: templates/js/table_filters.js:310
+msgid "Template"
+msgstr ""
+
+#: common/models.py:158
+msgid "Parts are templates by default"
+msgstr ""
+
+#: common/models.py:164 part/models.py:834 part/templates/part/detail.html:170
+#: templates/js/table_filters.js:123 templates/js/table_filters.js:322
+msgid "Assembly"
+msgstr ""
+
+#: common/models.py:165
+msgid "Parts can be assembled from other components by default"
+msgstr ""
+
+#: common/models.py:171 part/models.py:840 part/templates/part/detail.html:180
+#: templates/js/table_filters.js:326
+msgid "Component"
+msgstr ""
+
+#: common/models.py:172
+msgid "Parts can be used as sub-components by default"
+msgstr ""
+
+#: common/models.py:178 part/models.py:851 part/templates/part/detail.html:200
+msgid "Purchaseable"
+msgstr ""
+
+#: common/models.py:179
+msgid "Parts are purchaseable by default"
+msgstr ""
+
+#: common/models.py:185 part/models.py:856 part/templates/part/detail.html:210
+#: templates/js/table_filters.js:334
+msgid "Salable"
+msgstr ""
+
+#: common/models.py:186
+msgid "Parts are salable by default"
+msgstr ""
+
+#: common/models.py:192 part/models.py:846 part/templates/part/detail.html:190
+#: templates/js/table_filters.js:32 templates/js/table_filters.js:338
+msgid "Trackable"
+msgstr ""
+
+#: common/models.py:193
+msgid "Parts are trackable by default"
+msgstr ""
+
+#: common/models.py:199 part/models.py:866 part/templates/part/detail.html:150
+#: templates/js/table_filters.js:28
+msgid "Virtual"
+msgstr ""
+
+#: common/models.py:200
+msgid "Parts are virtual by default"
+msgstr ""
+
+#: common/models.py:206
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:207
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:213
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:214
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:220
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:221
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:231
+msgid "Test Reports"
+msgstr ""
+
+#: common/models.py:232
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:238
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:239
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:245
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:246
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:252
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:253
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:255 part/templates/part/detail.html:121
+msgid "days"
+msgstr ""
+
+#: common/models.py:260
+msgid "Build Expired Stock"
+msgstr ""
+
+#: common/models.py:261
+msgid "Allow building with expired stock"
+msgstr ""
+
+#: common/models.py:267
+msgid "Stock Ownership Control"
+msgstr ""
+
+#: common/models.py:268
+msgid "Enable ownership control over stock locations and items"
+msgstr ""
+
+#: common/models.py:274
+msgid "Group by Part"
+msgstr ""
+
+#: common/models.py:275
+msgid "Group stock items by part reference in table views"
+msgstr ""
+
+#: common/models.py:281
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:282
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:288
+msgid "Build Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:289
+msgid "Prefix value for build order reference"
+msgstr ""
+
+#: common/models.py:294
+msgid "Build Order Reference Regex"
+msgstr ""
+
+#: common/models.py:295
+msgid "Regular expression pattern for matching build order reference"
+msgstr ""
+
+#: common/models.py:299
+msgid "Sales Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:300
+msgid "Prefix value for sales order reference"
+msgstr ""
+
+#: common/models.py:305
+msgid "Purchase Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:306
+msgid "Prefix value for purchase order reference"
+msgstr ""
+
+#: common/models.py:529
+msgid "Settings key (must be unique - case insensitive"
+msgstr ""
+
+#: common/models.py:531
+msgid "Settings value"
+msgstr ""
+
+#: common/models.py:566
+msgid "Must be an integer value"
+msgstr ""
+
+#: common/models.py:589
+msgid "Value must be a boolean value"
+msgstr ""
+
+#: common/models.py:600
+msgid "Value must be an integer value"
+msgstr ""
+
+#: common/models.py:623
+msgid "Key string must be unique"
+msgstr ""
+
+#: common/models.py:704 company/forms.py:177
+msgid "Price break quantity"
+msgstr ""
+
+#: common/models.py:712 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+msgid "Price"
+msgstr ""
+
+#: common/models.py:713
+msgid "Unit price at specified quantity"
+msgstr ""
+
+#: common/models.py:736
+msgid "Default"
+msgstr ""
+
+#: common/templates/common/edit_setting.html:11
+msgid "Current value"
+msgstr ""
+
+#: common/views.py:25
+msgid "Change Setting"
+msgstr ""
+
+#: common/views.py:94
+msgid "Supplied value is not allowed"
+msgstr ""
+
+#: common/views.py:103
+msgid "Supplied value must be a boolean"
+msgstr ""
+
+#: company/forms.py:38 company/models.py:145
+#: company/templates/company/detail.html:42
+msgid "Currency"
+msgstr ""
+
+#: company/forms.py:39 company/models.py:147
+msgid "Default currency used for this company"
+msgstr ""
+
+#: company/forms.py:77 part/forms.py:46
+msgid "URL"
+msgstr ""
+
+#: company/forms.py:78 part/forms.py:47
+msgid "Image URL"
+msgstr ""
+
+#: company/forms.py:118
+msgid "Single Price"
+msgstr ""
+
+#: company/forms.py:120
+msgid "Single quantity price"
+msgstr ""
+
+#: company/forms.py:128 company/models.py:324
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/forms.py:134 company/models.py:331
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/forms.py:136 company/models.py:330
+#: company/templates/company/manufacturer_part_base.html:89
+#: company/templates/company/manufacturer_part_detail.html:26
+#: company/templates/company/supplier_part_base.html:101
+#: company/templates/company/supplier_part_detail.html:35
+#: order/templates/order/purchase_order_detail.html:183 part/bom.py:171
+#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:102
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:103
+msgid "Description of the company"
+msgstr ""
+
+#: company/models.py:107 company/templates/company/company_base.html:70
+#: company/templates/company/detail.html:33 templates/js/company.js:60
+msgid "Website"
+msgstr ""
+
+#: company/models.py:107
+msgid "Company website URL"
+msgstr ""
+
+#: company/models.py:110 company/templates/company/company_base.html:77
+msgid "Address"
+msgstr ""
+
+#: company/models.py:111
+msgid "Company address"
+msgstr ""
+
+#: company/models.py:114
+msgid "Phone number"
+msgstr ""
+
+#: company/models.py:115
+msgid "Contact phone number"
+msgstr ""
+
+#: company/models.py:118 company/templates/company/company_base.html:91
+msgid "Email"
+msgstr ""
+
+#: company/models.py:118
+msgid "Contact email address"
+msgstr ""
+
+#: company/models.py:121 company/templates/company/company_base.html:98
+msgid "Contact"
+msgstr ""
+
+#: company/models.py:122
+msgid "Point of contact"
+msgstr ""
+
+#: company/models.py:124 company/models.py:336 company/models.py:488
+#: order/models.py:103 part/models.py:743
+#: report/templates/report/inventree_build_order_base.html:165
+#: stock/models.py:1560 templates/js/company.js:188 templates/js/company.js:318
+#: templates/js/part.js:431
+msgid "Link"
+msgstr ""
+
+#: company/models.py:124
+msgid "Link to external company information"
+msgstr ""
+
+#: company/models.py:132 part/models.py:753
+msgid "Image"
+msgstr ""
+
+#: company/models.py:137
+msgid "is customer"
+msgstr ""
+
+#: company/models.py:137
+msgid "Do you sell items to this company?"
+msgstr ""
+
+#: company/models.py:139
+msgid "is supplier"
+msgstr ""
+
+#: company/models.py:139
+msgid "Do you purchase items from this company?"
+msgstr ""
+
+#: company/models.py:141
+msgid "is manufacturer"
+msgstr ""
+
+#: company/models.py:141
+msgid "Does this company manufacture parts?"
+msgstr ""
+
+#: company/models.py:308 company/models.py:459 stock/models.py:373
+#: stock/templates/stock/item_base.html:224
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:312 company/models.py:463 order/views.py:1372
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:323 company/templates/company/detail.html:57
+#: company/templates/company/manufacturer_part_base.html:85
+#: company/templates/company/manufacturer_part_detail.html:25
+#: company/templates/company/supplier_part_base.html:94
+#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
+#: part/bom.py:241 stock/templates/stock/item_base.html:341
+#: templates/js/company.js:44 templates/js/company.js:165
+#: templates/js/company.js:289
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:337
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:343
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:469 company/templates/company/detail.html:62
+#: company/templates/company/supplier_part_base.html:84
+#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
+#: order/templates/order/order_base.html:92
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
+#: part/bom.py:286 stock/templates/stock/item_base.html:353
+#: templates/js/company.js:48 templates/js/company.js:263
+#: templates/js/order.js:170
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:470
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:475 company/templates/company/supplier_part_base.html:88
+#: company/templates/company/supplier_part_detail.html:26
+#: order/templates/order/purchase_order_detail.html:174 part/bom.py:176
+#: part/bom.py:287
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:476
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:482
+#: company/templates/company/manufacturer_part_base.html:6
+#: company/templates/company/manufacturer_part_base.html:19
+#: stock/templates/stock/item_base.html:346
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:483
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:489
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:495
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:500 company/templates/company/supplier_part_base.html:115
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2190
+#: report/templates/report/inventree_po_report.html:93
+#: report/templates/report/inventree_so_report.html:93
+msgid "Note"
+msgstr ""
+
+#: company/models.py:504
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:504
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:506 company/templates/company/supplier_part_base.html:108
+#: stock/models.py:397 stock/templates/stock/item_base.html:299
+#: templates/js/stock.js:667
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:506
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:508
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:508
+msgid "Order multiple"
+msgstr ""
+
+#: company/templates/company/assigned_stock.html:10
+#: company/templates/company/navbar.html:62
+#: company/templates/company/navbar.html:65 templates/js/build.js:467
+msgid "Assigned Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:9
+#: company/templates/company/company_base.html:35
+#: templates/InvenTree/search.html:304 templates/js/company.js:33
+msgid "Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:25
+#: part/templates/part/part_thumb.html:21
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
+#: part/templates/part/part_thumb.html:23
+msgid "Download image from URL"
+msgstr ""
+
+#: company/templates/company/company_base.html:46 order/views.py:306
+msgid "Create Purchase Order"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+msgid "Edit company information"
+msgstr ""
+
+#: company/templates/company/company_base.html:56 company/views.py:326
+msgid "Delete Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:64
+#: company/templates/company/detail.html:10
+#: company/templates/company/navbar.html:12
+msgid "Company Details"
+msgstr ""
+
+#: company/templates/company/company_base.html:84
+msgid "Phone"
+msgstr ""
+
+#: company/templates/company/delete.html:7
+#, python-format
+msgid "Are you sure you want to delete company '%(name)s'?"
+msgstr ""
+
+#: company/templates/company/delete.html:12
+#, python-format
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
+"If this supplier is deleted, these supplier part entries will also be "
+"deleted."
+msgstr ""
+
+#: company/templates/company/detail.html:21
+msgid "Company Name"
+msgstr ""
+
+#: company/templates/company/detail.html:36
+msgid "No website specified"
+msgstr ""
+
+#: company/templates/company/detail.html:45
+msgid "Uses default currency"
+msgstr ""
+
+#: company/templates/company/detail.html:67 order/models.py:440
+#: order/templates/order/sales_order_base.html:92 stock/models.py:415
+#: stock/models.py:416 stock/templates/stock/item_base.html:251
+#: templates/js/company.js:40 templates/js/order.js:267
+msgid "Customer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:11
+#: templates/InvenTree/search.html:149
+msgid "Manufacturer Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:22
+msgid "Create new manufacturer part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:23
+#: part/templates/part/manufacturer.html:19
+msgid "New Manufacturer Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:28
+#: company/templates/company/detail_supplier_part.html:27
+#: company/templates/company/manufacturer_part_suppliers.html:20
+#: part/templates/part/category.html:122
+#: part/templates/part/manufacturer.html:22
+#: part/templates/part/supplier.html:20
+msgid "Options"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32
+#: part/templates/part/category.html:127
+msgid "Order parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:66
+#: company/templates/company/detail_supplier_part.html:66
+#: part/templates/part/bom.html:159 part/templates/part/category.html:118
+#: templates/js/stock.js:1157
+msgid "New Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:67
+#: company/templates/company/detail_supplier_part.html:67
+msgid "Create new Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:72
+#: company/views.py:71 part/templates/part/manufacturer.html:52
+#: part/templates/part/supplier.html:56
+msgid "New Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:73
+#: company/views.py:284
+msgid "Create new Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:10
+msgid "Supplier Stock"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:37
+#: company/templates/company/supplier_part_stock.html:34
+#: part/templates/part/category.html:114 part/templates/part/category.html:128
+#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163
+msgid "Export"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:11
+#: company/templates/company/manufacturer_part_navbar.html:11
+#: company/templates/company/manufacturer_part_suppliers.html:10
+#: templates/InvenTree/search.html:164
+msgid "Supplier Parts"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:21
+#: order/templates/order/order_wizard/select_parts.html:42
+#: order/templates/order/purchase_order_detail.html:75
+msgid "Create new supplier part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:22
+#: company/templates/company/manufacturer_part_suppliers.html:17
+#: order/templates/order/purchase_order_detail.html:74
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1163
+msgid "New Supplier Part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:72
+#: company/templates/company/manufacturer_part_suppliers.html:47
+#: company/views.py:64 order/templates/order/purchase_orders.html:183
+#: part/templates/part/supplier.html:50
+msgid "New Supplier"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:73 company/views.py:281
+#: order/templates/order/purchase_orders.html:184
+msgid "Create new Supplier"
+msgstr ""
+
+#: company/templates/company/index.html:8
+msgid "Supplier List"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:36
+#: company/templates/company/supplier_part_base.html:36
+#: company/templates/company/supplier_part_orders.html:17
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+msgid "Order part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:41
+msgid "Edit manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:45
+msgid "Delete manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:57
+#: company/templates/company/manufacturer_part_detail.html:10
+msgid "Manufacturer Part Details"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:62
+#: company/templates/company/manufacturer_part_detail.html:18
+#: company/templates/company/supplier_part_base.html:61
+#: company/templates/company/supplier_part_detail.html:18
+msgid "Internal Part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:6
+msgid "Are you sure you want to delete the following Manufacturer Parts?"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:36
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this manufacturer part. If you "
+"delete it, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:14
+#: company/views.py:63 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: templates/navbar.html:35
+msgid "Suppliers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:19
+msgid "Manufacturer Part Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:22
+#: company/templates/company/navbar.html:41
+#: company/templates/company/supplier_part_navbar.html:15
+#: part/templates/part/navbar.html:36 stock/api.py:51
+#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
+#: templates/InvenTree/search.html:232
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:26
+msgid "Manufacturer Part Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:29
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/supplier.html:22
+msgid "Delete supplier parts"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44
+#: part/templates/part/related.html:44 part/templates/part/supplier.html:22
+#: stock/views.py:1002 users/models.py:184
+msgid "Delete"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:48
+#: part/templates/part/supplier.html:51
+msgid "Create new supplier"
+msgstr ""
+
+#: company/templates/company/navbar.html:20
+#: company/templates/company/navbar.html:23
+msgid "Manufactured Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:29
+#: company/templates/company/navbar.html:32
+msgid "Supplied Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:33
+#: stock/templates/stock/location.html:107
+#: stock/templates/stock/location.html:122
+#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location_navbar.html:22
+#: stock/templates/stock/location_navbar.html:29
+#: templates/InvenTree/search.html:198 templates/js/stock.js:968
+#: templates/stats.html:72 templates/stats.html:81 users/models.py:40
+msgid "Stock Items"
+msgstr ""
+
+#: company/templates/company/navbar.html:47
+#: company/templates/company/navbar.html:56
+#: company/templates/company/navbar.html:59
+#: company/templates/company/sales_orders.html:11
+#: order/templates/order/sales_orders.html:8
+#: order/templates/order/sales_orders.html:13
+#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
+#: templates/InvenTree/search.html:345
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: users/models.py:43
+msgid "Sales Orders"
+msgstr ""
+
+#: company/templates/company/navbar.html:50
+#: company/templates/company/purchase_orders.html:10
+#: order/templates/order/purchase_orders.html:8
+#: order/templates/order/purchase_orders.html:13
+#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
+#: templates/InvenTree/search.html:325
+#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: users/models.py:42
+msgid "Purchase Orders"
+msgstr ""
+
+#: company/templates/company/notes.html:11
+msgid "Company Notes"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:18
+#: order/templates/order/purchase_orders.html:20
+msgid "Create new purchase order"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:19
+#: order/templates/order/purchase_orders.html:21
+msgid "New Purchase Order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:19
+#: order/templates/order/sales_orders.html:20
+msgid "Create new sales order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:20
+#: order/templates/order/sales_orders.html:21
+msgid "New Sales Order"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:7
+#: company/templates/company/supplier_part_base.html:20 stock/models.py:382
+#: stock/templates/stock/item_base.html:358 templates/js/company.js:279
+msgid "Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:40
+msgid "Edit supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:44
+msgid "Delete supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:56
+#: company/templates/company/supplier_part_detail.html:10
+msgid "Supplier Part Details"
+msgstr ""
+
+#: company/templates/company/supplier_part_delete.html:5
+msgid "Are you sure you want to delete the following Supplier Parts?"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:12
+#: company/templates/company/supplier_part_stock.html:10
+msgid "Supplier Part Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:19
+#: company/templates/company/supplier_part_orders.html:10
+msgid "Supplier Part Orders"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:26
+msgid "Supplier Part Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:29
+msgid "Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_orders.html:18
+#: part/templates/part/orders.html:18
+msgid "Order Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:11
+msgid "Pricing Information"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
+#: part/templates/part/sale_prices.html:17 part/views.py:2624
+msgid "Add Price Break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:38
+#: part/templates/part/sale_prices.html:46
+msgid "No price break information found"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:89
+#: part/templates/part/sale_prices.html:97
+msgid "Edit price break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:90
+#: part/templates/part/sale_prices.html:98
+msgid "Delete price break"
+msgstr ""
+
+#: company/views.py:70 part/templates/part/navbar.html:72
+#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: templates/navbar.html:36
+msgid "Manufacturers"
+msgstr ""
+
+#: company/views.py:77 templates/InvenTree/search.html:336
+#: templates/navbar.html:45
+msgid "Customers"
+msgstr ""
+
+#: company/views.py:78 order/templates/order/sales_orders.html:185
+msgid "New Customer"
+msgstr ""
+
+#: company/views.py:86
+msgid "Companies"
+msgstr ""
+
+#: company/views.py:87
+msgid "New Company"
+msgstr ""
+
+#: company/views.py:169 part/views.py:848
+msgid "Download Image"
+msgstr ""
+
+#: company/views.py:198 part/views.py:880
+msgid "Image size exceeds maximum allowable size for download"
+msgstr ""
+
+#: company/views.py:214 part/views.py:896
+msgid "Supplied URL is not a valid image file"
+msgstr ""
+
+#: company/views.py:243
+msgid "Update Company Image"
+msgstr ""
+
+#: company/views.py:249
+msgid "Updated company image"
+msgstr ""
+
+#: company/views.py:259
+msgid "Edit Company"
+msgstr ""
+
+#: company/views.py:264
+msgid "Edited company information"
+msgstr ""
+
+#: company/views.py:287 order/templates/order/sales_orders.html:186
+msgid "Create new Customer"
+msgstr ""
+
+#: company/views.py:289
+msgid "Create new Company"
+msgstr ""
+
+#: company/views.py:316
+msgid "Created new company"
+msgstr ""
+
+#: company/views.py:332
+msgid "Company was deleted"
+msgstr ""
+
+#: company/views.py:357
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: company/views.py:366
+msgid "Create New Manufacturer Part"
+msgstr ""
+
+#: company/views.py:440
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: company/views.py:528
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: company/views.py:578 templates/js/stock.js:1164
+msgid "Create new Supplier Part"
+msgstr ""
+
+#: company/views.py:722
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: company/views.py:799 part/views.py:2628
+msgid "Added new price break"
+msgstr ""
+
+#: company/views.py:855 part/views.py:2672
+msgid "Edit Price Break"
+msgstr ""
+
+#: company/views.py:870 part/views.py:2686
+msgid "Delete Price Break"
+msgstr ""
+
+#: label/api.py:56 report/api.py:201
+msgid "No valid objects provided to template"
+msgstr ""
+
+#: label/models.py:102
+msgid "Label name"
+msgstr ""
+
+#: label/models.py:109
+msgid "Label description"
+msgstr ""
+
+#: label/models.py:116 stock/forms.py:202
+msgid "Label"
+msgstr ""
+
+#: label/models.py:117
+msgid "Label template file"
+msgstr ""
+
+#: label/models.py:123 report/models.py:274
+msgid "Enabled"
+msgstr ""
+
+#: label/models.py:124
+msgid "Label template is enabled"
+msgstr ""
+
+#: label/models.py:129
+msgid "Width [mm]"
+msgstr ""
+
+#: label/models.py:130
+msgid "Label width, specified in mm"
+msgstr ""
+
+#: label/models.py:136
+msgid "Height [mm]"
+msgstr ""
+
+#: label/models.py:137
+msgid "Label height, specified in mm"
+msgstr ""
+
+#: label/models.py:222 label/models.py:275
+msgid "Query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: label/models.py:223 label/models.py:276 report/models.py:294
+#: report/models.py:415 report/models.py:449
+msgid "Filters"
+msgstr ""
+
+#: order/forms.py:27 order/templates/order/order_base.html:47
+msgid "Place order"
+msgstr ""
+
+#: order/forms.py:38 order/templates/order/order_base.html:54
+msgid "Mark order as complete"
+msgstr ""
+
+#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
+#: order/templates/order/sales_order_base.html:59
+msgid "Cancel order"
+msgstr ""
+
+#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+msgid "Ship order"
+msgstr ""
+
+#: order/forms.py:82
+msgid "Receive parts to this location"
+msgstr ""
+
+#: order/forms.py:103
+msgid "Purchase Order reference"
+msgstr ""
+
+#: order/forms.py:110
+msgid "Target date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:138
+msgid "Enter sales order number"
+msgstr ""
+
+#: order/forms.py:145 order/models.py:452
+msgid ""
+"Target date for order completion. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:235
+msgid "Enter stock item serial numbers"
+msgstr ""
+
+#: order/forms.py:241
+msgid "Enter quantity of stock items"
+msgstr ""
+
+#: order/models.py:99
+msgid "Order reference"
+msgstr ""
+
+#: order/models.py:101
+msgid "Order description"
+msgstr ""
+
+#: order/models.py:103
+msgid "Link to external page"
+msgstr ""
+
+#: order/models.py:111 part/templates/part/detail.html:132
+msgid "Created By"
+msgstr ""
+
+#: order/models.py:118
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:123
+msgid "Order notes"
+msgstr ""
+
+#: order/models.py:182 order/models.py:445
+msgid "Purchase order status"
+msgstr ""
+
+#: order/models.py:191
+msgid "Company from which the items are being ordered"
+msgstr ""
+
+#: order/models.py:194 order/templates/order/order_base.html:98
+#: templates/js/order.js:179
+msgid "Supplier Reference"
+msgstr ""
+
+#: order/models.py:194
+msgid "Supplier order reference code"
+msgstr ""
+
+#: order/models.py:201
+msgid "received by"
+msgstr ""
+
+#: order/models.py:206
+msgid "Issue Date"
+msgstr ""
+
+#: order/models.py:207
+msgid "Date order was issued"
+msgstr ""
+
+#: order/models.py:212
+msgid "Target Delivery Date"
+msgstr ""
+
+#: order/models.py:213
+msgid ""
+"Expected date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/models.py:219
+msgid "Date order was completed"
+msgstr ""
+
+#: order/models.py:243 order/models.py:342 part/views.py:1586
+#: stock/models.py:270 stock/models.py:953
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:248
+msgid "Part supplier must match PO supplier"
+msgstr ""
+
+#: order/models.py:337
+msgid "Lines can only be received against an order marked as 'Placed'"
+msgstr ""
+
+#: order/models.py:359
+msgid "Received items"
+msgstr ""
+
+#: order/models.py:441
+msgid "Company to which the items are being sold"
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer Reference "
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer order reference code"
+msgstr ""
+
+#: order/models.py:455 templates/js/order.js:303
+msgid "Shipment Date"
+msgstr ""
+
+#: order/models.py:462
+msgid "shipped by"
+msgstr ""
+
+#: order/models.py:506
+msgid "SalesOrder cannot be shipped as it is not currently pending"
+msgstr ""
+
+#: order/models.py:593
+msgid "Item quantity"
+msgstr ""
+
+#: order/models.py:595
+msgid "Line item reference"
+msgstr ""
+
+#: order/models.py:597
+msgid "Line item notes"
+msgstr ""
+
+#: order/models.py:623 order/models.py:667
+#: part/templates/part/allocation.html:17
+#: part/templates/part/allocation.html:45
+msgid "Order"
+msgstr ""
+
+#: order/models.py:624 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:24
+#: report/templates/report/inventree_po_report.html:77
+#: stock/templates/stock/item_base.html:313 templates/js/order.js:148
+msgid "Purchase Order"
+msgstr ""
+
+#: order/models.py:638
+msgid "Supplier part"
+msgstr ""
+
+#: order/models.py:641 order/templates/order/order_base.html:131
+#: order/templates/order/purchase_order_detail.html:214
+#: order/templates/order/receive_parts.html:22
+#: order/templates/order/sales_order_base.html:131
+msgid "Received"
+msgstr ""
+
+#: order/models.py:641
+msgid "Number of items received"
+msgstr ""
+
+#: order/models.py:648 stock/models.py:508
+#: stock/templates/stock/item_base.html:320
+msgid "Purchase Price"
+msgstr ""
+
+#: order/models.py:649
+msgid "Unit purchase price"
+msgstr ""
+
+#: order/models.py:743 order/models.py:745
+msgid "Stock item has not been assigned"
+msgstr ""
+
+#: order/models.py:749
+msgid "Cannot allocate stock item to a line with a different part"
+msgstr ""
+
+#: order/models.py:751
+msgid "Cannot allocate stock to a line without a part"
+msgstr ""
+
+#: order/models.py:754
+msgid "Allocation quantity cannot exceed stock quantity"
+msgstr ""
+
+#: order/models.py:764
+msgid "Quantity must be 1 for serialized stock item"
+msgstr ""
+
+#: order/models.py:769
+msgid "Line"
+msgstr ""
+
+#: order/models.py:780
+msgid "Item"
+msgstr ""
+
+#: order/models.py:781
+msgid "Select stock item to allocate"
+msgstr ""
+
+#: order/models.py:784
+msgid "Enter stock allocation quantity"
+msgstr ""
+
+#: order/templates/order/delete_attachment.html:5
+#: stock/templates/stock/attachment_delete.html:5
+#: templates/attachment_delete.html:5
+msgid "Are you sure you want to delete this attachment?"
+msgstr ""
+
+#: order/templates/order/order_base.html:39
+#: order/templates/order/sales_order_base.html:48
+msgid "Print"
+msgstr ""
+
+#: order/templates/order/order_base.html:43
+#: order/templates/order/sales_order_base.html:52
+msgid "Edit order information"
+msgstr ""
+
+#: order/templates/order/order_base.html:51
+msgid "Receive items"
+msgstr ""
+
+#: order/templates/order/order_base.html:64
+msgid "Export order to file"
+msgstr ""
+
+#: order/templates/order/order_base.html:72
+#: order/templates/order/po_navbar.html:11
+msgid "Purchase Order Details"
+msgstr ""
+
+#: order/templates/order/order_base.html:77
+#: order/templates/order/sales_order_base.html:77
+msgid "Order Reference"
+msgstr ""
+
+#: order/templates/order/order_base.html:82
+#: order/templates/order/sales_order_base.html:82
+msgid "Order Status"
+msgstr ""
+
+#: order/templates/order/order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:122
+msgid "Issued"
+msgstr ""
+
+#: order/templates/order/order_cancel.html:7
+#: order/templates/order/sales_order_cancel.html:9
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_complete.html:7
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: order/templates/order/order_complete.html:10
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: order/templates/order/order_complete.html:11
+msgid "Marking this order as complete will remove these line items."
+msgstr ""
+
+#: order/templates/order/order_issue.html:7
+msgid ""
+"After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_notes.html:13
+msgid "Order Notes"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:9
+msgid "Step 1 of 2 - Select Part Suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:14
+msgid "Select suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:18
+msgid "No purchaseable parts selected"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:31
+msgid "Select Supplier"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:57
+#, python-format
+msgid "Select a supplier for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:69
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:8
+msgid "Step 2 of 2 - Select Purchase Orders"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:12
+msgid "Select existing purchase orders, or create new orders."
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:31
+#: templates/js/order.js:205 templates/js/order.js:308
+msgid "Items"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:32
+msgid "Select Purchase Order"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:45
+#, python-format
+msgid "Create new purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:68
+#, python-format
+msgid "Select a purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/po_attachments.html:12
+#: order/templates/order/po_navbar.html:23
+msgid "Purchase Order Attachments"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:17
+msgid "Received Stock Items"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:20
+#: order/templates/order/po_received_items.html:12
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:14
+msgid "Purchase Order Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:22 order/views.py:1108
+#: order/views.py:1191
+msgid "Add Line Item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:45
+#: order/templates/order/purchase_order_detail.html:125
+#: part/templates/part/category.html:185 part/templates/part/category.html:227
+#: stock/templates/stock/location.html:191 templates/js/stock.js:708
+#: templates/js/stock.js:1169
+msgid "New Location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:46
+#: order/templates/order/purchase_order_detail.html:126
+#: stock/templates/stock/location.html:42
+msgid "Create new stock location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:139
+msgid "No line items found"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:205
+msgid "Unit Price"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:246
+#: order/templates/order/sales_order_detail.html:294
+msgid "Edit line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:247
+msgid "Delete line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:252
+msgid "Receive line item"
+msgstr ""
+
+#: order/templates/order/purchase_orders.html:24
+#: order/templates/order/sales_orders.html:24
+msgid "Print Order Reports"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:8
+#, python-format
+msgid "Receive outstanding parts for %(order)s - %(desc)s"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: part/models.py:322 part/templates/part/cat_link.html:7
+#: part/templates/part/category.html:99
+#: part/templates/part/category_navbar.html:22
+#: part/templates/part/category_navbar.html:29
+#: part/templates/part/category_partlist.html:10
+#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
+#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/navbar.html:23 templates/stats.html:59 templates/stats.html:68
+#: users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:15
+msgid "Select parts to receive against this order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:20
+msgid "Order Code"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:21
+#: part/templates/part/part_base.html:129 templates/js/part.js:414
+msgid "On Order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:23
+msgid "Receive"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:36
+msgid "Error: Referenced part has been removed"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:57
+msgid "Remove line"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:15
+msgid "This SalesOrder has not been fully allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:64
+msgid "Packing List"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/so_navbar.html:12
+msgid "Sales Order Details"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+msgid "Customer Reference"
+msgstr ""
+
+#: order/templates/order/sales_order_cancel.html:8
+#: order/templates/order/sales_order_ship.html:9
+#: part/templates/part/bom_duplicate.html:12
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:13
+msgid "Sales Order Items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342
+#: templates/js/build.js:627 templates/js/build.js:1044
+msgid "Actions"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515
+#: templates/js/build.js:849
+msgid "Edit stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517
+#: templates/js/build.js:850
+msgid "Delete stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:170
+msgid "No matching line items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:199
+msgid "ID"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579
+#: templates/js/build.js:845
+msgid "Allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:231
+msgid "Fulfilled"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:279
+msgid "Allocate serial numbers"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641
+msgid "Allocate stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:285
+msgid "Purchase stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634
+#: templates/js/build.js:1052
+msgid "Build stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:295
+msgid "Delete line item "
+msgstr ""
+
+#: order/templates/order/sales_order_notes.html:14
+msgid "Sales Order Notes"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:10
+msgid ""
+"This order has not been fully allocated. If the order is marked as shipped, "
+"it can no longer be adjusted."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:12
+msgid "Ensure that the order allocation is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:18
+msgid "Some line items in this order have been over-allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:20
+msgid "Ensure that this is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:27
+msgid "Shipping this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/so_allocate_by_serial.html:9
+msgid "Allocate stock items by serial number"
+msgstr ""
+
+#: order/templates/order/so_allocation_delete.html:7
+msgid "This action will unallocate the following stock from the Sales Order"
+msgstr ""
+
+#: order/templates/order/so_attachments.html:12
+#: order/templates/order/so_navbar.html:26
+msgid "Sales Order Attachments"
+msgstr ""
+
+#: order/templates/order/so_lineitem_delete.html:5
+msgid "Are you sure you wish to delete this line item?"
+msgstr ""
+
+#: order/views.py:99
+msgid "Add Purchase Order Attachment"
+msgstr ""
+
+#: order/views.py:149
+msgid "Add Sales Order Attachment"
+msgstr ""
+
+#: order/views.py:341
+msgid "Create Sales Order"
+msgstr ""
+
+#: order/views.py:376
+msgid "Edit Purchase Order"
+msgstr ""
+
+#: order/views.py:396
+msgid "Edit Sales Order"
+msgstr ""
+
+#: order/views.py:412
+msgid "Cancel Order"
+msgstr ""
+
+#: order/views.py:421 order/views.py:447
+msgid "Confirm order cancellation"
+msgstr ""
+
+#: order/views.py:424 order/views.py:450
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/views.py:438
+msgid "Cancel sales order"
+msgstr ""
+
+#: order/views.py:464
+msgid "Issue Order"
+msgstr ""
+
+#: order/views.py:473
+msgid "Confirm order placement"
+msgstr ""
+
+#: order/views.py:483
+msgid "Purchase order issued"
+msgstr ""
+
+#: order/views.py:494
+msgid "Complete Order"
+msgstr ""
+
+#: order/views.py:510
+msgid "Confirm order completion"
+msgstr ""
+
+#: order/views.py:521
+msgid "Purchase order completed"
+msgstr ""
+
+#: order/views.py:531
+msgid "Ship Order"
+msgstr ""
+
+#: order/views.py:547
+msgid "Confirm order shipment"
+msgstr ""
+
+#: order/views.py:553
+msgid "Could not ship order"
+msgstr ""
+
+#: order/views.py:607
+msgid "Receive Parts"
+msgstr ""
+
+#: order/views.py:677
+msgid "Items received"
+msgstr ""
+
+#: order/views.py:691
+msgid "No destination set"
+msgstr ""
+
+#: order/views.py:736
+msgid "Error converting quantity to number"
+msgstr ""
+
+#: order/views.py:742
+msgid "Receive quantity less than zero"
+msgstr ""
+
+#: order/views.py:748
+msgid "No lines specified"
+msgstr ""
+
+#: order/views.py:1060
+#, python-brace-format
+msgid "Ordered {n} parts"
+msgstr ""
+
+#: order/views.py:1117
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/views.py:1123
+msgid "Supplier must match for Part and Order"
+msgstr ""
+
+#: order/views.py:1242 order/views.py:1260
+msgid "Edit Line Item"
+msgstr ""
+
+#: order/views.py:1276 order/views.py:1288
+msgid "Delete Line Item"
+msgstr ""
+
+#: order/views.py:1281 order/views.py:1293
+msgid "Deleted line item"
+msgstr ""
+
+#: order/views.py:1306
+msgid "Allocate Serial Numbers"
+msgstr ""
+
+#: order/views.py:1351
+#, python-brace-format
+msgid "Allocated {n} items"
+msgstr ""
+
+#: order/views.py:1367
+msgid "Select line item"
+msgstr ""
+
+#: order/views.py:1398
+msgid "No matching item for serial"
+msgstr ""
+
+#: order/views.py:1408
+msgid "is not in stock"
+msgstr ""
+
+#: order/views.py:1416
+msgid "already allocated to an order"
+msgstr ""
+
+#: order/views.py:1470
+msgid "Allocate Stock to Order"
+msgstr ""
+
+#: order/views.py:1544
+msgid "Edit Allocation Quantity"
+msgstr ""
+
+#: order/views.py:1559
+msgid "Remove allocation"
+msgstr ""
+
+#: part/bom.py:138 part/models.py:72 part/models.py:762
+#: part/templates/part/category.html:66 part/templates/part/detail.html:90
+msgid "Default Location"
+msgstr ""
+
+#: part/bom.py:139 part/templates/part/part_base.html:117
+msgid "Available Stock"
+msgstr ""
+
+#: part/bom.py:379
+#, python-brace-format
+msgid "Unsupported file format: {f}"
+msgstr ""
+
+#: part/bom.py:384
+msgid "Error reading BOM file (invalid data)"
+msgstr ""
+
+#: part/bom.py:386
+msgid "Error reading BOM file (incorrect row size)"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "File Format"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "Select output file format"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Cascading"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Download cascading / multi-level BOM"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Levels"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Select maximum number of BOM levels to export (0 = all levels)"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include Parameter Data"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include part parameters data in exported BOM"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include Stock Data"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include part stock data in exported BOM"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include Manufacturer Data"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include part manufacturer data in exported BOM"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include Supplier Data"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include part supplier data in exported BOM"
+msgstr ""
+
+#: part/forms.py:122 part/models.py:2077
+msgid "Parent Part"
+msgstr ""
+
+#: part/forms.py:123 part/templates/part/bom_duplicate.html:7
+msgid "Select parent part to copy BOM from"
+msgstr ""
+
+#: part/forms.py:129
+msgid "Clear existing BOM items"
+msgstr ""
+
+#: part/forms.py:135
+msgid "Confirm BOM duplication"
+msgstr ""
+
+#: part/forms.py:153
+msgid "validate"
+msgstr ""
+
+#: part/forms.py:153
+msgid "Confirm that the BOM is correct"
+msgstr ""
+
+#: part/forms.py:165
+msgid "BOM file"
+msgstr ""
+
+#: part/forms.py:165
+msgid "Select BOM file to upload"
+msgstr ""
+
+#: part/forms.py:184
+msgid "Related Part"
+msgstr ""
+
+#: part/forms.py:203
+msgid "Select part category"
+msgstr ""
+
+#: part/forms.py:220
+msgid "Duplicate all BOM data for this part"
+msgstr ""
+
+#: part/forms.py:221
+msgid "Copy BOM"
+msgstr ""
+
+#: part/forms.py:226
+msgid "Duplicate all parameter data for this part"
+msgstr ""
+
+#: part/forms.py:227
+msgid "Copy Parameters"
+msgstr ""
+
+#: part/forms.py:232
+msgid "Confirm part creation"
+msgstr ""
+
+#: part/forms.py:237
+msgid "Include category parameter templates"
+msgstr ""
+
+#: part/forms.py:242
+msgid "Include parent categories parameter templates"
+msgstr ""
+
+#: part/forms.py:322
+msgid "Add parameter template to same level categories"
+msgstr ""
+
+#: part/forms.py:326
+msgid "Add parameter template to all categories"
+msgstr ""
+
+#: part/forms.py:344 part/models.py:2171
+msgid "Sub part"
+msgstr ""
+
+#: part/forms.py:372
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:73
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:82 part/models.py:2123
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr ""
+
+#: part/models.py:83 part/templates/part/category.html:23
+#: part/templates/part/category.html:94 part/templates/part/category.html:141
+#: templates/InvenTree/search.html:127 templates/stats.html:63
+#: users/models.py:37
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:446 part/models.py:458
+#, python-brace-format
+msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
+msgstr ""
+
+#: part/models.py:555
+msgid "Next available serial numbers are"
+msgstr ""
+
+#: part/models.py:559
+msgid "Next available serial number is"
+msgstr ""
+
+#: part/models.py:564
+msgid "Most recent serial number is"
+msgstr ""
+
+#: part/models.py:643
+msgid "Duplicate IPN not allowed in part settings"
+msgstr ""
+
+#: part/models.py:654
+msgid "Part must be unique for name, IPN and revision"
+msgstr ""
+
+#: part/models.py:685 part/templates/part/detail.html:22
+msgid "Part name"
+msgstr ""
+
+#: part/models.py:692
+msgid "Is Template"
+msgstr ""
+
+#: part/models.py:693
+msgid "Is this part a template part?"
+msgstr ""
+
+#: part/models.py:704
+msgid "Is this part a variant of another part?"
+msgstr ""
+
+#: part/models.py:705 part/templates/part/detail.html:60
+msgid "Variant Of"
+msgstr ""
+
+#: part/models.py:711
+msgid "Part description"
+msgstr ""
+
+#: part/models.py:716 part/templates/part/category.html:73
+#: part/templates/part/detail.html:67
+msgid "Keywords"
+msgstr ""
+
+#: part/models.py:717
+msgid "Part keywords to improve visibility in search results"
+msgstr ""
+
+#: part/models.py:724 part/models.py:2122 part/templates/part/detail.html:73
+#: part/templates/part/set_category.html:15 templates/js/part.js:385
+msgid "Category"
+msgstr ""
+
+#: part/models.py:725
+msgid "Part category"
+msgstr ""
+
+#: part/models.py:730 part/templates/part/detail.html:28
+#: part/templates/part/part_base.html:94 templates/js/part.js:161
+msgid "IPN"
+msgstr ""
+
+#: part/models.py:731
+msgid "Internal Part Number"
+msgstr ""
+
+#: part/models.py:737
+msgid "Part revision or version number"
+msgstr ""
+
+#: part/models.py:738 part/templates/part/detail.html:35 report/models.py:198
+#: templates/js/part.js:165
+msgid "Revision"
+msgstr ""
+
+#: part/models.py:760
+msgid "Where is this item normally stored?"
+msgstr ""
+
+#: part/models.py:807 part/templates/part/detail.html:97
+msgid "Default Supplier"
+msgstr ""
+
+#: part/models.py:808
+msgid "Default supplier part"
+msgstr ""
+
+#: part/models.py:815
+msgid "Default Expiry"
+msgstr ""
+
+#: part/models.py:816
+msgid "Expiry time (in days) for stock items of this part"
+msgstr ""
+
+#: part/models.py:821 part/templates/part/detail.html:113
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/models.py:822
+msgid "Minimum allowed stock level"
+msgstr ""
+
+#: part/models.py:828 part/models.py:2051 part/templates/part/detail.html:106
+#: part/templates/part/params.html:29
+msgid "Units"
+msgstr ""
+
+#: part/models.py:829
+msgid "Stock keeping units for this part"
+msgstr ""
+
+#: part/models.py:835
+msgid "Can this part be built from other parts?"
+msgstr ""
+
+#: part/models.py:841
+msgid "Can this part be used to build other parts?"
+msgstr ""
+
+#: part/models.py:847
+msgid "Does this part have tracking for unique items?"
+msgstr ""
+
+#: part/models.py:852
+msgid "Can this part be purchased from external suppliers?"
+msgstr ""
+
+#: part/models.py:857
+msgid "Can this part be sold to customers?"
+msgstr ""
+
+#: part/models.py:861 part/templates/part/detail.html:227
+#: templates/js/table_filters.js:20 templates/js/table_filters.js:60
+#: templates/js/table_filters.js:236 templates/js/table_filters.js:305
+msgid "Active"
+msgstr ""
+
+#: part/models.py:862
+msgid "Is this part active?"
+msgstr ""
+
+#: part/models.py:867
+msgid "Is this a virtual part, such as a software product or license?"
+msgstr ""
+
+#: part/models.py:872
+msgid "Part notes - supports Markdown formatting"
+msgstr ""
+
+#: part/models.py:875
+msgid "BOM checksum"
+msgstr ""
+
+#: part/models.py:875
+msgid "Stored BOM checksum"
+msgstr ""
+
+#: part/models.py:878
+msgid "BOM checked by"
+msgstr ""
+
+#: part/models.py:880
+msgid "BOM checked date"
+msgstr ""
+
+#: part/models.py:884
+msgid "Creation User"
+msgstr ""
+
+#: part/models.py:1949
+msgid "Test templates can only be created for trackable parts"
+msgstr ""
+
+#: part/models.py:1966
+msgid "Test with this name already exists for this part"
+msgstr ""
+
+#: part/models.py:1986 templates/js/part.js:638 templates/js/stock.js:104
+msgid "Test Name"
+msgstr ""
+
+#: part/models.py:1987
+msgid "Enter a name for the test"
+msgstr ""
+
+#: part/models.py:1992
+msgid "Test Description"
+msgstr ""
+
+#: part/models.py:1993
+msgid "Enter description for this test"
+msgstr ""
+
+#: part/models.py:1998 templates/js/part.js:647
+#: templates/js/table_filters.js:222
+msgid "Required"
+msgstr ""
+
+#: part/models.py:1999
+msgid "Is this test required to pass?"
+msgstr ""
+
+#: part/models.py:2004 templates/js/part.js:655
+msgid "Requires Value"
+msgstr ""
+
+#: part/models.py:2005
+msgid "Does this test require a value when adding a test result?"
+msgstr ""
+
+#: part/models.py:2010 templates/js/part.js:662
+msgid "Requires Attachment"
+msgstr ""
+
+#: part/models.py:2011
+msgid "Does this test require a file attachment when adding a test result?"
+msgstr ""
+
+#: part/models.py:2044
+msgid "Parameter template name must be unique"
+msgstr ""
+
+#: part/models.py:2049
+msgid "Parameter Name"
+msgstr ""
+
+#: part/models.py:2051
+msgid "Parameter Units"
+msgstr ""
+
+#: part/models.py:2079 part/models.py:2128 part/models.py:2129
+#: templates/InvenTree/settings/category.html:62
+msgid "Parameter Template"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Data"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Parameter Value"
+msgstr ""
+
+#: part/models.py:2133 templates/InvenTree/settings/category.html:67
+msgid "Default Value"
+msgstr ""
+
+#: part/models.py:2134
+msgid "Default Parameter Value"
+msgstr ""
+
+#: part/models.py:2163
+msgid "Select parent part"
+msgstr ""
+
+#: part/models.py:2172
+msgid "Select part to be used in BOM"
+msgstr ""
+
+#: part/models.py:2178
+msgid "BOM quantity for this BOM item"
+msgstr ""
+
+#: part/models.py:2180 templates/js/bom.js:216 templates/js/bom.js:269
+msgid "Optional"
+msgstr ""
+
+#: part/models.py:2180
+msgid "This BOM item is optional"
+msgstr ""
+
+#: part/models.py:2183
+msgid "Overage"
+msgstr ""
+
+#: part/models.py:2184
+msgid "Estimated build wastage quantity (absolute or percentage)"
+msgstr ""
+
+#: part/models.py:2187
+msgid "BOM item reference"
+msgstr ""
+
+#: part/models.py:2190
+msgid "BOM item notes"
+msgstr ""
+
+#: part/models.py:2192
+msgid "Checksum"
+msgstr ""
+
+#: part/models.py:2192
+msgid "BOM line checksum"
+msgstr ""
+
+#: part/models.py:2196 templates/js/bom.js:279 templates/js/bom.js:286
+#: templates/js/table_filters.js:50
+msgid "Inherited"
+msgstr ""
+
+#: part/models.py:2197
+msgid "This BOM item is inherited by BOMs for variant parts"
+msgstr ""
+
+#: part/models.py:2273 part/views.py:1592 part/views.py:1644
+#: stock/models.py:260
+msgid "Quantity must be integer value for trackable parts"
+msgstr ""
+
+#: part/models.py:2282 part/models.py:2284
+msgid "Sub part must be specified"
+msgstr ""
+
+#: part/models.py:2287
+msgid "BOM Item"
+msgstr ""
+
+#: part/models.py:2404
+msgid "Part 1"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Part 2"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Select Related Part"
+msgstr ""
+
+#: part/models.py:2440
+msgid ""
+"Error creating relationship: check that the part is not related to itself "
+"and that the relationship is unique"
+msgstr ""
+
+#: part/templates/part/allocation.html:11
+msgid "Part Stock Allocations"
+msgstr ""
+
+#: part/templates/part/attachments.html:10
+msgid "Part Attachments"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:6
+msgid "Are you sure you want to delete this BOM item?"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:8
+msgid "Deleting this entry will remove the BOM row from the following part"
+msgstr ""
+
+#: part/templates/part/bom.html:10 part/templates/part/navbar.html:48
+#: part/templates/part/navbar.html:51
+msgid "Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:19
+#, python-format
+msgid "The BOM for %(part)s has changed, and must be validated.
"
+msgstr ""
+
+#: part/templates/part/bom.html:21
+#, python-format
+msgid ""
+"The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
+msgstr ""
+
+#: part/templates/part/bom.html:25
+#, python-format
+msgid "The BOM for %(part)s has not been validated."
+msgstr ""
+
+#: part/templates/part/bom.html:32
+msgid "Remove selected BOM items"
+msgstr ""
+
+#: part/templates/part/bom.html:35
+msgid "Import BOM data"
+msgstr ""
+
+#: part/templates/part/bom.html:39
+msgid "Copy BOM from parent part"
+msgstr ""
+
+#: part/templates/part/bom.html:43
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/bom.html:46
+msgid "Finish Editing"
+msgstr ""
+
+#: part/templates/part/bom.html:51
+msgid "Edit BOM"
+msgstr ""
+
+#: part/templates/part/bom.html:55
+msgid "Validate Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:61 part/views.py:1887
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:64
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/bom.html:109
+msgid "Delete selected BOM items?"
+msgstr ""
+
+#: part/templates/part/bom.html:110
+msgid "All selected BOM items will be deleted"
+msgstr ""
+
+#: part/templates/part/bom.html:160 part/views.py:584
+#: templates/js/stock.js:1158
+msgid "Create New Part"
+msgstr ""
+
+#: part/templates/part/bom_duplicate.html:13
+msgid "This part already has a Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:11
+#: part/templates/part/bom_upload/select_parts.html:11
+#: part/templates/part/bom_upload/upload_file.html:11
+msgid "Upload Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:16
+msgid "Step 2 - Select Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:21
+msgid "Missing selections for the following required columns"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:32
+msgid "Submit Selections"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:41
+msgid "File Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:47
+msgid "Remove column"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:58
+msgid "Match Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:68
+msgid "Duplicate column selection"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:76
+#: part/templates/part/bom_upload/select_parts.html:58
+msgid "Remove row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:16
+msgid "Step 3 - Select Parts"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:21
+msgid "Errors exist in the submitted data"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:27
+msgid "Submit BOM"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:39
+msgid "Row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:40
+#: part/templates/part/bom_upload/select_parts.html:69
+msgid "Select Part"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:65
+#: part/templates/part/category.html:117
+msgid "Create new part"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:16
+msgid "Step 1 - Select BOM File"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:19
+msgid "Requirements for BOM upload"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid ""
+"The BOM file must contain the required named columns as provided in the "
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid "BOM Upload Template"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:22
+msgid "Each part must already exist in the database"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:27
+msgid "Upload File"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:6
+#, python-format
+msgid ""
+"Confirm that the Bill of Materials (BOM) is valid for:
%(part)s"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:9
+msgid "This will validate each line in the BOM."
+msgstr ""
+
+#: part/templates/part/build.html:10
+msgid "Part Builds"
+msgstr ""
+
+#: part/templates/part/build.html:18
+msgid "Start New Build"
+msgstr ""
+
+#: part/templates/part/category.html:24
+msgid "All parts"
+msgstr ""
+
+#: part/templates/part/category.html:29 part/views.py:2270
+msgid "Create new part category"
+msgstr ""
+
+#: part/templates/part/category.html:35
+msgid "Edit part category"
+msgstr ""
+
+#: part/templates/part/category.html:40
+msgid "Delete part category"
+msgstr ""
+
+#: part/templates/part/category.html:50 part/templates/part/category.html:89
+msgid "Category Details"
+msgstr ""
+
+#: part/templates/part/category.html:55
+msgid "Category Path"
+msgstr ""
+
+#: part/templates/part/category.html:60
+msgid "Category Description"
+msgstr ""
+
+#: part/templates/part/category.html:79
+#: part/templates/part/category_navbar.html:11
+#: part/templates/part/category_navbar.html:18
+#: part/templates/part/subcategory.html:16
+msgid "Subcategories"
+msgstr ""
+
+#: part/templates/part/category.html:84
+msgid "Parts (Including subcategories)"
+msgstr ""
+
+#: part/templates/part/category.html:113
+msgid "Export Part Data"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set category"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set Category"
+msgstr ""
+
+#: part/templates/part/category.html:128
+msgid "Export Data"
+msgstr ""
+
+#: part/templates/part/category.html:186
+#: stock/templates/stock/location.html:192 templates/js/stock.js:709
+msgid "Create new location"
+msgstr ""
+
+#: part/templates/part/category.html:191 part/templates/part/category.html:221
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:192
+msgid "Create new category"
+msgstr ""
+
+#: part/templates/part/category.html:222
+msgid "Create new Part Category"
+msgstr ""
+
+#: part/templates/part/category.html:228 stock/views.py:1359
+msgid "Create new Stock Location"
+msgstr ""
+
+#: part/templates/part/category_delete.html:5
+msgid "Are you sure you want to delete category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:8
+#, python-format
+msgid "This category contains %(count)s child categories"
+msgstr ""
+
+#: part/templates/part/category_delete.html:9
+msgid ""
+"If this category is deleted, these child categories will be moved to the"
+msgstr ""
+
+#: part/templates/part/category_delete.html:11
+msgid "category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:13
+msgid "top level Parts category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:25
+#, python-format
+msgid "This category contains %(count)s parts"
+msgstr ""
+
+#: part/templates/part/category_delete.html:27
+#, python-format
+msgid ""
+"If this category is deleted, these parts will be moved to the parent "
+"category %(path)s"
+msgstr ""
+
+#: part/templates/part/category_delete.html:29
+msgid ""
+"If this category is deleted, these parts will be moved to the top-level "
+"category Teile"
+msgstr ""
+
+#: part/templates/part/category_navbar.html:34
+#: part/templates/part/category_navbar.html:37
+#: part/templates/part/navbar.html:22
+msgid "Parameters"
+msgstr ""
+
+#: part/templates/part/category_parametric.html:10
+#: part/templates/part/navbar.html:19 part/templates/part/params.html:10
+msgid "Part Parameters"
+msgstr ""
+
+#: part/templates/part/copy_part.html:9 part/views.py:460
+msgid "Duplicate Part"
+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 - %(desc)s (%(match_per)s%% match)"
+msgstr ""
+
+#: part/templates/part/detail.html:11 part/templates/part/navbar.html:11
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:42
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:47
+msgid "No serial numbers recorded"
+msgstr ""
+
+#: part/templates/part/detail.html:120
+msgid "Stock Expiry Time"
+msgstr ""
+
+#: part/templates/part/detail.html:139
+msgid "Responsible User"
+msgstr ""
+
+#: part/templates/part/detail.html:153
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/detail.html:155
+msgid "Part is not a virtual part"
+msgstr ""
+
+#: part/templates/part/detail.html:163
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/detail.html:165
+msgid "Part is not a template part"
+msgstr ""
+
+#: part/templates/part/detail.html:173
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:175
+msgid "Part cannot be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:183
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:185
+msgid "Part cannot be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:193
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:195
+msgid "Part stock is not tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:203 part/templates/part/detail.html:205
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/detail.html:213
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:215
+msgid "Part cannot be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:230
+msgid "Part is active"
+msgstr ""
+
+#: part/templates/part/detail.html:232
+msgid "Part is not active"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:11
+msgid "Part Manufacturers"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:24
+msgid "Delete manufacturer parts"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:53
+#: part/templates/part/supplier.html:57
+msgid "Create new manufacturer"
+msgstr ""
+
+#: part/templates/part/navbar.html:26 part/templates/part/variants.html:11
+msgid "Part Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:29
+msgid "Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:40
+msgid "Allocated Stock"
+msgstr ""
+
+#: part/templates/part/navbar.html:43
+msgid "Allocations"
+msgstr ""
+
+#: part/templates/part/navbar.html:64 part/templates/part/navbar.html:67
+msgid "Used In"
+msgstr ""
+
+#: part/templates/part/navbar.html:92
+msgid "Sales Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:95
+msgid "Sale Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+msgid "Part Test Templates"
+msgstr ""
+
+#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:398
+msgid "Tests"
+msgstr ""
+
+#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/related.html:10
+msgid "Related Parts"
+msgstr ""
+
+#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+msgid "Part Notes"
+msgstr ""
+
+#: part/templates/part/params.html:17
+msgid "Add new parameter"
+msgstr ""
+
+#: part/templates/part/params.html:18
+#: templates/InvenTree/settings/category.html:29
+#: templates/InvenTree/settings/part.html:44
+msgid "New Parameter"
+msgstr ""
+
+#: part/templates/part/params.html:28
+#: report/templates/report/inventree_test_report_base.html:90
+#: stock/models.py:1655 templates/InvenTree/settings/header.html:8
+#: templates/js/stock.js:124
+msgid "Value"
+msgstr ""
+
+#: part/templates/part/params.html:41 templates/InvenTree/settings/user.html:19
+msgid "Edit"
+msgstr ""
+
+#: part/templates/part/params.html:68
+msgid "New Template"
+msgstr ""
+
+#: part/templates/part/params.html:69
+msgid "Create New Parameter Template"
+msgstr ""
+
+#: part/templates/part/part_app_base.html:12
+msgid "Part List"
+msgstr ""
+
+#: part/templates/part/part_base.html:18
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:40
+msgid "Star this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:47
+#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/location.html:51
+msgid "Barcode actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:49
+#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+msgid "Show QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:50
+#: stock/templates/stock/item_base.html:149
+#: stock/templates/stock/location.html:54
+msgid "Print Label"
+msgstr ""
+
+#: part/templates/part/part_base.html:55
+msgid "Show pricing information"
+msgstr ""
+
+#: part/templates/part/part_base.html:59
+msgid "Count part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:74
+msgid "Part actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:77
+msgid "Duplicate part"
+msgstr ""
+
+#: part/templates/part/part_base.html:80
+msgid "Edit part"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
+msgid "Delete part"
+msgstr ""
+
+#: part/templates/part/part_base.html:123 templates/js/table_filters.js:156
+msgid "In Stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+msgid "Required for Build Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:143
+msgid "Required for Sales Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:150
+msgid "Allocated to Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+msgid "Can Build"
+msgstr ""
+
+#: part/templates/part/part_base.html:171 templates/js/part.js:418
+msgid "Building"
+msgstr ""
+
+#: part/templates/part/part_base.html:250
+msgid "Calculate"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:8
+#, python-format
+msgid "Pricing information for:
%(part)s."
+msgstr ""
+
+#: part/templates/part/part_pricing.html:23
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:27
+#: part/templates/part/part_pricing.html:53
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:33
+#: part/templates/part/part_pricing.html:59
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:41
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:49
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:67
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:74
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:84
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/part_tests.html:17
+msgid "Add Test Template"
+msgstr ""
+
+#: part/templates/part/part_thumb.html:20
+msgid "Select from existing images"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:7
+#, python-format
+msgid "Are you sure you want to delete part '%(full_name)s'?"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:12
+#, python-format
+msgid ""
+"This part is used in BOMs for %(count)s other parts. If you delete this "
+"part, the BOMs for the following parts will be updated"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:22
+#, python-format
+msgid ""
+"There are %(count)s stock entries defined for this part. If you delete this "
+"part, the following stock entries will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:33
+#, python-format
+msgid ""
+"There are %(count)s manufacturers defined for this part. If you delete this "
+"part, the following manufacturer parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:44
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this part. If you delete this "
+"part, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:55
+#, python-format
+msgid ""
+"There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this "
+"part will permanently remove this tracking information."
+msgstr ""
+
+#: part/templates/part/related.html:18
+msgid "Add Related"
+msgstr ""
+
+#: part/templates/part/sale_prices.html:10
+msgid "Sell Price Information"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New sales order"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New Order"
+msgstr ""
+
+#: part/templates/part/set_category.html:9
+msgid "Set category for the following parts"
+msgstr ""
+
+#: part/templates/part/stock.html:10
+msgid "Part Stock"
+msgstr ""
+
+#: part/templates/part/stock.html:16
+#, python-format
+msgid "Showing stock for all variants of %(full_name)s"
+msgstr ""
+
+#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
+#: templates/js/part.js:422
+msgid "No Stock"
+msgstr ""
+
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:130
+msgid "Low Stock"
+msgstr ""
+
+#: part/templates/part/supplier.html:10
+msgid "Part Suppliers"
+msgstr ""
+
+#: part/templates/part/track.html:10
+msgid "Part Tracking"
+msgstr ""
+
+#: part/templates/part/used_in.html:9
+msgid "Assemblies"
+msgstr ""
+
+#: part/templates/part/variant_part.html:9
+msgid "Create new part variant"
+msgstr ""
+
+#: part/templates/part/variant_part.html:10
+#, python-format
+msgid "Create a new variant of template '%(full_name)s'."
+msgstr ""
+
+#: part/templates/part/variants.html:19
+msgid "Create new variant"
+msgstr ""
+
+#: part/templates/part/variants.html:20
+msgid "New Variant"
+msgstr ""
+
+#: part/views.py:89
+msgid "Add Related Part"
+msgstr ""
+
+#: part/views.py:144
+msgid "Delete Related Part"
+msgstr ""
+
+#: part/views.py:158
+msgid "Add part attachment"
+msgstr ""
+
+#: part/views.py:211 templates/attachment_table.html:32
+msgid "Edit attachment"
+msgstr ""
+
+#: part/views.py:215
+msgid "Part attachment updated"
+msgstr ""
+
+#: part/views.py:230
+msgid "Delete Part Attachment"
+msgstr ""
+
+#: part/views.py:238
+msgid "Deleted part attachment"
+msgstr ""
+
+#: part/views.py:247
+msgid "Create Test Template"
+msgstr ""
+
+#: part/views.py:274
+msgid "Edit Test Template"
+msgstr ""
+
+#: part/views.py:288
+msgid "Delete Test Template"
+msgstr ""
+
+#: part/views.py:295
+msgid "Set Part Category"
+msgstr ""
+
+#: part/views.py:345
+#, python-brace-format
+msgid "Set category for {n} parts"
+msgstr ""
+
+#: part/views.py:380
+msgid "Create Variant"
+msgstr ""
+
+#: part/views.py:465
+msgid "Copied part"
+msgstr ""
+
+#: part/views.py:519 part/views.py:657
+msgid "Possible matches exist - confirm creation of new part"
+msgstr ""
+
+#: part/views.py:589
+msgid "Created new part"
+msgstr ""
+
+#: part/views.py:825
+msgid "Part QR Code"
+msgstr ""
+
+#: part/views.py:927
+msgid "Upload Part Image"
+msgstr ""
+
+#: part/views.py:933 part/views.py:968
+msgid "Updated part image"
+msgstr ""
+
+#: part/views.py:942
+msgid "Select Part Image"
+msgstr ""
+
+#: part/views.py:971
+msgid "Part image not found"
+msgstr ""
+
+#: part/views.py:982
+msgid "Edit Part Properties"
+msgstr ""
+
+#: part/views.py:1017
+msgid "Duplicate BOM"
+msgstr ""
+
+#: part/views.py:1047
+msgid "Confirm duplication of BOM from parent"
+msgstr ""
+
+#: part/views.py:1068
+msgid "Validate BOM"
+msgstr ""
+
+#: part/views.py:1089
+msgid "Confirm that the BOM is valid"
+msgstr ""
+
+#: part/views.py:1100
+msgid "Validated Bill of Materials"
+msgstr ""
+
+#: part/views.py:1234
+msgid "No BOM file provided"
+msgstr ""
+
+#: part/views.py:1595
+msgid "Enter a valid quantity"
+msgstr ""
+
+#: part/views.py:1620 part/views.py:1623
+msgid "Select valid part"
+msgstr ""
+
+#: part/views.py:1629
+msgid "Duplicate part selected"
+msgstr ""
+
+#: part/views.py:1667
+msgid "Select a part"
+msgstr ""
+
+#: part/views.py:1673
+msgid "Selected part creates a circular BOM"
+msgstr ""
+
+#: part/views.py:1677
+msgid "Specify quantity"
+msgstr ""
+
+#: part/views.py:1939
+msgid "Confirm Part Deletion"
+msgstr ""
+
+#: part/views.py:1946
+msgid "Part was deleted"
+msgstr ""
+
+#: part/views.py:1955
+msgid "Part Pricing"
+msgstr ""
+
+#: part/views.py:2069
+msgid "Create Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2079
+msgid "Edit Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2086
+msgid "Delete Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2094
+msgid "Create Part Parameter"
+msgstr ""
+
+#: part/views.py:2144
+msgid "Edit Part Parameter"
+msgstr ""
+
+#: part/views.py:2158
+msgid "Delete Part Parameter"
+msgstr ""
+
+#: part/views.py:2218
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:2256
+msgid "Delete Part Category"
+msgstr ""
+
+#: part/views.py:2262
+msgid "Part category was deleted"
+msgstr ""
+
+#: part/views.py:2314
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2415
+msgid "Edit Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2471
+msgid "Delete Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2490
+msgid "Create BOM Item"
+msgstr ""
+
+#: part/views.py:2560
+msgid "Edit BOM item"
+msgstr ""
+
+#: part/views.py:2616
+msgid "Confim BOM item deletion"
+msgstr ""
+
+#: report/models.py:180
+msgid "Template name"
+msgstr ""
+
+#: report/models.py:186
+msgid "Report template file"
+msgstr ""
+
+#: report/models.py:193
+msgid "Report template description"
+msgstr ""
+
+#: report/models.py:199
+msgid "Report revision number (auto-increments)"
+msgstr ""
+
+#: report/models.py:275
+msgid "Report template is enabled"
+msgstr ""
+
+#: report/models.py:295
+msgid "StockItem query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: report/models.py:303
+msgid "Include Installed Tests"
+msgstr ""
+
+#: report/models.py:304
+msgid "Include test results for stock items installed inside assembled item"
+msgstr ""
+
+#: report/models.py:347
+msgid "Build Filters"
+msgstr ""
+
+#: report/models.py:348
+msgid "Build query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:385
+msgid "Part Filters"
+msgstr ""
+
+#: report/models.py:386
+msgid "Part query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:416
+msgid "Purchase order query filters"
+msgstr ""
+
+#: report/models.py:450
+msgid "Sales order query filters"
+msgstr ""
+
+#: report/models.py:500
+msgid "Snippet"
+msgstr ""
+
+#: report/models.py:501
+msgid "Report snippet file"
+msgstr ""
+
+#: report/models.py:505
+msgid "Snippet file description"
+msgstr ""
+
+#: report/models.py:540
+msgid "Asset"
+msgstr ""
+
+#: report/models.py:541
+msgid "Report asset file"
+msgstr ""
+
+#: report/models.py:544
+msgid "Asset file description"
+msgstr ""
+
+#: report/templates/report/inventree_build_order_base.html:147
+msgid "Required For"
+msgstr ""
+
+#: report/templates/report/inventree_po_report.html:85
+#: report/templates/report/inventree_so_report.html:85
+msgid "Line 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:83
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:88
+#: stock/models.py:1643
+msgid "Test"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:89
+#: stock/models.py:1649
+msgid "Result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:92
+#: templates/js/order.js:195 templates/js/stock.js:986
+msgid "Date"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:103
+msgid "Pass"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:105
+msgid "Fail"
+msgstr ""
+
+#: stock/api.py:199
+#, python-brace-format
+msgid "Updated stock for {n} items"
+msgstr ""
+
+#: stock/api.py:268
+#, python-brace-format
+msgid "Moved {n} parts to {loc}"
+msgstr ""
+
+#: stock/forms.py:114 stock/forms.py:406 stock/models.py:475
+#: stock/templates/stock/item_base.html:365 templates/js/stock.js:656
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/forms.py:115 stock/forms.py:407
+msgid "Expiration date for this stock item"
+msgstr ""
+
+#: stock/forms.py:118
+msgid "Enter unique serial numbers (or leave blank)"
+msgstr ""
+
+#: stock/forms.py:169
+msgid ""
+"Destination for serialized stock (by default, will remain in current "
+"location)"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Serial numbers"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Unique serial numbers (must match quantity)"
+msgstr ""
+
+#: stock/forms.py:173 stock/forms.py:349
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/forms.py:203 stock/forms.py:259
+msgid "Select test report template"
+msgstr ""
+
+#: stock/forms.py:267 templates/js/table_filters.js:70
+#: templates/js/table_filters.js:133
+msgid "Include sublocations"
+msgstr ""
+
+#: stock/forms.py:267
+msgid "Include stock items in sub locations"
+msgstr ""
+
+#: stock/forms.py:302
+msgid "Stock item to install"
+msgstr ""
+
+#: stock/forms.py:309
+msgid "Stock quantity to assign"
+msgstr ""
+
+#: stock/forms.py:337
+msgid "Must not exceed available quantity"
+msgstr ""
+
+#: stock/forms.py:347
+msgid "Destination location for uninstalled items"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm uninstall"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm removal of installed stock items"
+msgstr ""
+
+#: stock/forms.py:375
+msgid "Destination stock location"
+msgstr ""
+
+#: stock/forms.py:377
+msgid "Add note (required)"
+msgstr ""
+
+#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: stock/forms.py:381
+msgid "Confirm movement of stock items"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set Default Location"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set the destination as the default location for selected parts"
+msgstr ""
+
+#: stock/models.py:54 stock/models.py:513
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:55 stock/models.py:514
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:205
+msgid "Created stock item"
+msgstr ""
+
+#: stock/models.py:241
+msgid "StockItem with this serial number already exists"
+msgstr ""
+
+#: stock/models.py:277
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:287 stock/models.py:296
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:288
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:310
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:316
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:323
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:365
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:374
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:383
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:388 stock/templates/stock/stock_app_base.html:8
+msgid "Stock Location"
+msgstr ""
+
+#: stock/models.py:391
+msgid "Where is this stock item located?"
+msgstr ""
+
+#: stock/models.py:398
+msgid "Packaging this stock item is stored in"
+msgstr ""
+
+#: stock/models.py:403 stock/templates/stock/item_base.html:259
+msgid "Installed In"
+msgstr ""
+
+#: stock/models.py:406
+msgid "Is this item installed in another item?"
+msgstr ""
+
+#: stock/models.py:422
+msgid "Serial number for this item"
+msgstr ""
+
+#: stock/models.py:434
+msgid "Batch code for this stock item"
+msgstr ""
+
+#: stock/models.py:438
+msgid "Stock Quantity"
+msgstr ""
+
+#: stock/models.py:447
+msgid "Source Build"
+msgstr ""
+
+#: stock/models.py:449
+msgid "Build for this stock item"
+msgstr ""
+
+#: stock/models.py:460
+msgid "Source Purchase Order"
+msgstr ""
+
+#: stock/models.py:463
+msgid "Purchase order for this stock item"
+msgstr ""
+
+#: stock/models.py:469
+msgid "Destination Sales Order"
+msgstr ""
+
+#: stock/models.py:476
+msgid ""
+"Expiry date for stock item. Stock will be considered expired after this date"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete on deplete"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete this Stock Item when stock is depleted"
+msgstr ""
+
+#: stock/models.py:499 stock/templates/stock/item_notes.html:13
+#: stock/templates/stock/navbar.html:54
+msgid "Stock Item Notes"
+msgstr ""
+
+#: stock/models.py:509
+msgid "Single unit purchase price at time of purchase"
+msgstr ""
+
+#: stock/models.py:614
+msgid "Assigned to Customer"
+msgstr ""
+
+#: stock/models.py:616
+msgid "Manually assigned to customer"
+msgstr ""
+
+#: stock/models.py:629
+msgid "Returned from customer"
+msgstr ""
+
+#: stock/models.py:631
+msgid "Returned to location"
+msgstr ""
+
+#: stock/models.py:792
+msgid "Installed into stock item"
+msgstr ""
+
+#: stock/models.py:800
+msgid "Installed stock item"
+msgstr ""
+
+#: stock/models.py:824
+msgid "Uninstalled stock item"
+msgstr ""
+
+#: stock/models.py:843
+msgid "Uninstalled into location"
+msgstr ""
+
+#: stock/models.py:944
+msgid "Part is not set as trackable"
+msgstr ""
+
+#: stock/models.py:950
+msgid "Quantity must be integer"
+msgstr ""
+
+#: stock/models.py:956
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({n})"
+msgstr ""
+
+#: stock/models.py:959
+msgid "Serial numbers must be a list of integers"
+msgstr ""
+
+#: stock/models.py:962
+msgid "Quantity does not match serial numbers"
+msgstr ""
+
+#: stock/models.py:994
+msgid "Add serial number"
+msgstr ""
+
+#: stock/models.py:997
+#, python-brace-format
+msgid "Serialized {n} items"
+msgstr ""
+
+#: stock/models.py:1075
+msgid "Split from existing stock"
+msgstr ""
+
+#: stock/models.py:1113
+msgid "StockItem cannot be moved as it is not in stock"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Title"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Tracking entry title"
+msgstr ""
+
+#: stock/models.py:1558
+msgid "Entry notes"
+msgstr ""
+
+#: stock/models.py:1560
+msgid "Link to external page for further information"
+msgstr ""
+
+#: stock/models.py:1620
+msgid "Value must be provided for this test"
+msgstr ""
+
+#: stock/models.py:1626
+msgid "Attachment must be uploaded for this test"
+msgstr ""
+
+#: stock/models.py:1644
+msgid "Test name"
+msgstr ""
+
+#: stock/models.py:1650 templates/js/table_filters.js:212
+msgid "Test result"
+msgstr ""
+
+#: stock/models.py:1656
+msgid "Test output value"
+msgstr ""
+
+#: stock/models.py:1663
+msgid "Test result attachment"
+msgstr ""
+
+#: stock/models.py:1669
+msgid "Test notes"
+msgstr ""
+
+#: stock/templates/stock/item.html:12
+msgid "Stock Tracking Information"
+msgstr ""
+
+#: stock/templates/stock/item.html:30
+msgid "New Entry"
+msgstr ""
+
+#: stock/templates/stock/item_attachments.html:11
+msgid "Stock Item Attachments"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:24
+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:31
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:32
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:45
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:53
+#, python-format
+msgid ""
+"This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:61
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:67
+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:71
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:75
+msgid ""
+"This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:145
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:99
+#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:150
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:136 templates/js/barcode.js:309
+#: templates/js/barcode.js:314
+msgid "Unlink Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:138
+msgid "Link Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:140 templates/stock_table.html:31
+msgid "Scan to Location"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:147
+msgid "Printing actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_tests.html:27
+msgid "Test Report"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:160
+msgid "Stock adjustment actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:164
+#: stock/templates/stock/location.html:65 templates/stock_table.html:56
+msgid "Count stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:167 templates/stock_table.html:54
+msgid "Add stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:170 templates/stock_table.html:55
+msgid "Remove stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:173
+msgid "Serialize stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:177
+msgid "Transfer stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:180
+msgid "Assign to customer"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:183
+msgid "Return to stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1299
+msgid "Uninstall stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187
+msgid "Uninstall"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:199
+msgid "Convert to variant"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:202
+msgid "Duplicate stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:204
+msgid "Edit stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:207
+msgid "Delete stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:219
+msgid "Stock Item Details"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:278 templates/js/build.js:498
+msgid "No location set"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:285
+msgid "Barcode Identifier"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:327
+msgid "Parent Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:369
+#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:371
+#, python-format
+msgid "This StockItem expires on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:378 templates/js/stock.js:662
+msgid "Last Updated"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:383
+msgid "Last Stocktake"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:387
+msgid "No stocktake performed"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:12
+msgid "Child Stock Items"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:20
+msgid "This stock item does not have any child items"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:9
+msgid "Are you sure you want to delete this stock item?"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:12
+#, python-format
+msgid ""
+"This will remove %(qty)s units of %(full_name)s from stock."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:7
+msgid "Install another StockItem into this item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:10
+msgid "Stock items can only be installed if they meet the following criteria"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:13
+msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:14
+msgid "The StockItem is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_installed.html:11
+#: stock/templates/stock/navbar.html:27
+msgid "Installed Stock Items"
+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/item_tests.html:11
+#: stock/templates/stock/navbar.html:19 stock/templates/stock/navbar.html:22
+msgid "Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:20
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:24
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/location.html:20
+msgid ""
+"You are not in the list of owners of this location. This stock location "
+"cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:37
+msgid "All stock items"
+msgstr ""
+
+#: stock/templates/stock/location.html:55
+msgid "Check-in Items"
+msgstr ""
+
+#: stock/templates/stock/location.html:71
+msgid "Location actions"
+msgstr ""
+
+#: stock/templates/stock/location.html:73
+msgid "Edit location"
+msgstr ""
+
+#: stock/templates/stock/location.html:75
+msgid "Delete location"
+msgstr ""
+
+#: stock/templates/stock/location.html:87
+msgid "Location Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:92
+msgid "Location Path"
+msgstr ""
+
+#: stock/templates/stock/location.html:97
+msgid "Location Description"
+msgstr ""
+
+#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location_navbar.html:11
+#: stock/templates/stock/location_navbar.html:18
+#: stock/templates/stock/sublocation.html:16
+msgid "Sublocations"
+msgstr ""
+
+#: stock/templates/stock/location.html:112
+msgid "Stock Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: templates/stats.html:76 users/models.py:39
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/templates/stock/location_delete.html:7
+msgid "Are you sure you want to delete this stock location?"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:11
+msgid "Stock Item Tracking"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:14
+msgid "History"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:30
+msgid "Installed Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:38
+msgid "Child Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:41
+msgid "Children"
+msgstr ""
+
+#: stock/templates/stock/stock_adjust.html:43
+msgid "Remove item"
+msgstr ""
+
+#: stock/templates/stock/stock_app_base.html:16
+msgid "Loading..."
+msgstr ""
+
+#: stock/templates/stock/stock_uninstall.html:8
+msgid "The following stock items will be uninstalled"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1332
+msgid "Convert Stock Item"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:8
+#, python-format
+msgid "This stock item is current an instance of %(part)s"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:9
+msgid "It can be converted to one of the part variants listed below."
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:14
+msgid "This action cannot be easily undone"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:23 templates/stock_table.html:37
+msgid "Printing Actions"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:27 templates/stock_table.html:41
+msgid "Print labels"
+msgstr ""
+
+#: stock/templates/stock/tracking_delete.html:6
+msgid "Are you sure you want to delete this stock tracking entry?"
+msgstr ""
+
+#: stock/views.py:123
+msgid "Edit Stock Location"
+msgstr ""
+
+#: stock/views.py:230 stock/views.py:1322 stock/views.py:1433
+#: stock/views.py:1798
+msgid "Owner is required (ownership control is enabled)"
+msgstr ""
+
+#: stock/views.py:245
+msgid "Stock Location QR code"
+msgstr ""
+
+#: stock/views.py:265
+msgid "Add Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:311
+msgid "Edit Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:327
+msgid "Delete Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:343
+msgid "Assign to Customer"
+msgstr ""
+
+#: stock/views.py:352
+msgid "Customer must be specified"
+msgstr ""
+
+#: stock/views.py:376
+msgid "Return to Stock"
+msgstr ""
+
+#: stock/views.py:385
+msgid "Specify a valid location"
+msgstr ""
+
+#: stock/views.py:396
+msgid "Stock item returned from customer"
+msgstr ""
+
+#: stock/views.py:407
+msgid "Delete All Test Data"
+msgstr ""
+
+#: stock/views.py:424
+msgid "Confirm test data deletion"
+msgstr ""
+
+#: stock/views.py:444
+msgid "Add Test Result"
+msgstr ""
+
+#: stock/views.py:484
+msgid "Edit Test Result"
+msgstr ""
+
+#: stock/views.py:501
+msgid "Delete Test Result"
+msgstr ""
+
+#: stock/views.py:509
+msgid "Stock Export Options"
+msgstr ""
+
+#: stock/views.py:630
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/views.py:656
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/views.py:755
+msgid "Uninstall Stock Items"
+msgstr ""
+
+#: stock/views.py:863
+msgid "Uninstalled stock items"
+msgstr ""
+
+#: stock/views.py:888
+msgid "Adjust Stock"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move Stock Items"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count Stock Items"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Remove From Stock"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Take"
+msgstr ""
+
+#: stock/views.py:1001
+msgid "Add Stock Items"
+msgstr ""
+
+#: stock/views.py:1001 users/models.py:180
+msgid "Add"
+msgstr ""
+
+#: stock/views.py:1002
+msgid "Delete Stock Items"
+msgstr ""
+
+#: stock/views.py:1031
+msgid "Must enter integer value"
+msgstr ""
+
+#: stock/views.py:1036
+msgid "Quantity must be positive"
+msgstr ""
+
+#: stock/views.py:1043
+#, python-brace-format
+msgid "Quantity must not exceed {x}"
+msgstr ""
+
+#: stock/views.py:1107
+msgid "No action performed"
+msgstr ""
+
+#: stock/views.py:1122
+#, python-brace-format
+msgid "Added stock to {n} items"
+msgstr ""
+
+#: stock/views.py:1137
+#, python-brace-format
+msgid "Removed stock from {n} items"
+msgstr ""
+
+#: stock/views.py:1150
+#, python-brace-format
+msgid "Counted stock for {n} items"
+msgstr ""
+
+#: stock/views.py:1190
+msgid "No items were moved"
+msgstr ""
+
+#: stock/views.py:1193
+#, python-brace-format
+msgid "Moved {n} items to {dest}"
+msgstr ""
+
+#: stock/views.py:1212
+#, python-brace-format
+msgid "Deleted {n} stock items"
+msgstr ""
+
+#: stock/views.py:1224
+msgid "Edit Stock Item"
+msgstr ""
+
+#: stock/views.py:1450
+msgid "Serialize Stock"
+msgstr ""
+
+#: stock/views.py:1543 templates/js/build.js:244
+msgid "Create new Stock Item"
+msgstr ""
+
+#: stock/views.py:1685
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: stock/views.py:1767
+msgid "Quantity cannot be negative"
+msgstr ""
+
+#: stock/views.py:1867
+msgid "Delete Stock Location"
+msgstr ""
+
+#: stock/views.py:1880
+msgid "Delete Stock Item"
+msgstr ""
+
+#: stock/views.py:1891
+msgid "Delete Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1898
+msgid "Edit Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1907
+msgid "Add Stock Tracking Entry"
+msgstr ""
+
+#: templates/403.html:5 templates/403.html:11
+msgid "Permission Denied"
+msgstr ""
+
+#: templates/403.html:14
+msgid "You do not have permission to view this page."
+msgstr ""
+
+#: templates/404.html:5 templates/404.html:11
+msgid "Page Not Found"
+msgstr ""
+
+#: templates/404.html:14
+msgid "The requested page does not exist"
+msgstr ""
+
+#: templates/InvenTree/index.html:7
+msgid "Index"
+msgstr ""
+
+#: templates/InvenTree/index.html:98
+msgid "Starred Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:99
+msgid "Latest Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:100
+msgid "BOM Waiting Validation"
+msgstr ""
+
+#: templates/InvenTree/index.html:129
+msgid "Recently Updated"
+msgstr ""
+
+#: templates/InvenTree/index.html:145
+msgid "Expired Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:146
+msgid "Stale Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:184
+msgid "Build Orders In Progress"
+msgstr ""
+
+#: templates/InvenTree/index.html:185
+msgid "Overdue Build Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:206
+msgid "Outstanding Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:207
+msgid "Overdue Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:229
+msgid "Outstanding Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:230
+msgid "Overdue Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+msgid "Search Results"
+msgstr ""
+
+#: templates/InvenTree/search.html:24
+msgid "Enter a search query"
+msgstr ""
+
+#: templates/InvenTree/search.html:268 templates/js/stock.js:300
+msgid "Shipped to customer"
+msgstr ""
+
+#: templates/InvenTree/search.html:271 templates/js/stock.js:310
+msgid "No stock location set"
+msgstr ""
+
+#: templates/InvenTree/settings/build.html:10
+msgid "Build Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:9
+msgid "Category Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:25
+msgid "Category Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:52
+msgid "No category parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:70
+#: templates/InvenTree/settings/part.html:81
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:71
+#: templates/InvenTree/settings/part.html:82
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:10
+msgid "Global InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:27
+msgid "Barcode Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/header.html:7
+msgid "Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:9
+msgid "Part Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:14
+msgid "Part Options"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:40
+msgid "Part Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:61
+msgid "No part parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/po.html:9
+msgid "Purchase Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/report.html:10
+msgid "Report Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:23
+msgid "No value set"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:31
+msgid "Edit setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:8
+#: templates/InvenTree/settings/settings.html:14 templates/navbar.html:84
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/so.html:9
+msgid "Sales Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:9
+msgid "Stock Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:49
+msgid "Stock Options"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:3
+#: templates/InvenTree/settings/user.html:10
+msgid "User Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:6
+msgid "Account"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:9
+msgid "Theme"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:13
+msgid "InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:16
+msgid "Global"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:19
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:22
+msgid "Categories"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:10
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:17
+msgid "Color Themes"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:29
+#, python-format
+msgid ""
+"\n"
+"\t\tThe CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected "
+"color theme was not found.
\n"
+"\t\tPlease select another color theme :)\n"
+"\t"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:16
+msgid "User Information"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:21
+msgid "Change Password"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:28
+#: templates/registration/login.html:59
+msgid "Username"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:32
+msgid "First Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:36
+msgid "Last Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:40
+msgid "Email Address"
+msgstr ""
+
+#: templates/about.html:13
+msgid "InvenTree Version Information"
+msgstr ""
+
+#: templates/about.html:22
+msgid "InvenTree Version"
+msgstr ""
+
+#: templates/about.html:26
+msgid "Up to Date"
+msgstr ""
+
+#: templates/about.html:28
+msgid "Update Available"
+msgstr ""
+
+#: templates/about.html:34
+msgid "Django Version"
+msgstr ""
+
+#: templates/about.html:41
+msgid "Commit Hash"
+msgstr ""
+
+#: templates/about.html:48
+msgid "Commit Date"
+msgstr ""
+
+#: templates/about.html:53
+msgid "InvenTree Documentation"
+msgstr ""
+
+#: templates/about.html:58
+msgid "View Code on GitHub"
+msgstr ""
+
+#: templates/about.html:63
+msgid "Get the App"
+msgstr ""
+
+#: templates/about.html:68
+msgid "Submit Bug Report"
+msgstr ""
+
+#: templates/attachment_table.html:6
+msgid "Add Attachment"
+msgstr ""
+
+#: templates/attachment_table.html:15
+msgid "File"
+msgstr ""
+
+#: templates/attachment_table.html:17
+msgid "Uploaded"
+msgstr ""
+
+#: templates/attachment_table.html:35
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/image_download.html:8
+msgid "Specify URL for downloading image"
+msgstr ""
+
+#: templates/image_download.html:11
+msgid "Must be a valid image URL"
+msgstr ""
+
+#: templates/image_download.html:12
+msgid "Remote server must be accessible"
+msgstr ""
+
+#: templates/image_download.html:13
+msgid "Remote image must not exceed maximum allowable file size"
+msgstr ""
+
+#: templates/js/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/barcode.js:119 templates/js/modals.js:857
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:311
+msgid ""
+"This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/barcode.js:376
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/barcode.js:422 templates/js/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/barcode.js:462 templates/js/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/bom.js:175 templates/js/build.js:994
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/bom.js:261
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/filters.js:397
+msgid "true"
+msgstr ""
+
+#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/filters.js:398
+msgid "false"
+msgstr ""
+
+#: templates/js/bom.js:290 templates/js/bom.js:376
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/bom.js:350
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:352
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/bom.js:354
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:356
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/build.js:62
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/build.js:70
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/build.js:80
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/build.js:89
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/build.js:243 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/build.js:549
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/build.js:570
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/build.js:638 templates/js/build.js:1056
+#: templates/stock_table.html:58
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/build.js:691
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
+#: templates/js/stock.js:511 templates/js/stock.js:938
+#: templates/js/stock.js:1331
+msgid "Select"
+msgstr ""
+
+#: templates/js/build.js:728
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/build.js:827
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/company.js:74
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/company.js:83
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/company.js:96
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/company.js:129
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/company.js:148 templates/js/company.js:246
+#: templates/js/part.js:60 templates/js/part.js:145
+msgid "Template part"
+msgstr ""
+
+#: templates/js/company.js:152 templates/js/company.js:250
+#: templates/js/part.js:64 templates/js/part.js:149
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/company.js:227
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/filters.js:268
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/filters.js:271
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/filters.js:296
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/label.js:10 templates/js/report.js:98
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:29 templates/js/label.js:79
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/label.js:154
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/label.js:162
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/label.js:177
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/modals.js:256
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/modals.js:406
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/modals.js:473 templates/modals.html:73
+msgid "Accept"
+msgstr ""
+
+#: templates/js/modals.js:474 templates/modals.html:72
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/modals.js:538
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/modals.js:549 templates/js/modals.js:808
+#: templates/modals.html:29 templates/modals.html:53
+msgid "Submit"
+msgstr ""
+
+#: templates/js/modals.js:550 templates/js/modals.js:809
+#: templates/modals.html:28 templates/modals.html:52 templates/modals.html:93
+msgid "Close"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/modals.js:773
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/modals.js:857
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/modals.js:867
+msgid "No Response"
+msgstr ""
+
+#: templates/js/modals.js:868
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/modals.js:872
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/modals.js:873
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/modals.js:877
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/modals.js:878
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/modals.js:882
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/modals.js:883
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/modals.js:887
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/modals.js:888
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/modals.js:892
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/modals.js:893
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/modals.js:896
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/order.js:138
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/order.js:162 templates/js/order.js:257
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/order.js:234
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/part.js:52 templates/js/part.js:137
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/part.js:56 templates/js/part.js:141
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/part.js:68
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/part.js:72
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/part.js:186
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/part.js:272 templates/js/part.js:452
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/part.js:391
+msgid "No category"
+msgstr ""
+
+#: templates/js/part.js:409 templates/js/table_filters.js:318
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/part.js:571 templates/js/stock.js:962
+msgid "Path"
+msgstr ""
+
+#: templates/js/part.js:588
+msgid "YES"
+msgstr ""
+
+#: templates/js/part.js:590
+msgid "NO"
+msgstr ""
+
+#: templates/js/part.js:624
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/part.js:675 templates/js/stock.js:75
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/part.js:676 templates/js/stock.js:76
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/part.js:682
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/report.js:47
+msgid "items selected"
+msgstr ""
+
+#: templates/js/report.js:55
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/report.js:70
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/report.js:99
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:116 templates/js/report.js:169
+#: templates/js/report.js:223 templates/js/report.js:277
+#: templates/js/report.js:331
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/report.js:117
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/report.js:152
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/report.js:153
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:170
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:224
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/report.js:259
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/report.js:260
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/report.js:278 templates/js/report.js:332
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/report.js:313
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/report.js:314
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/stock.js:38
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:40
+msgid "FAIL"
+msgstr ""
+
+#: templates/js/stock.js:45
+msgid "NO RESULT"
+msgstr ""
+
+#: templates/js/stock.js:71
+msgid "Add test result"
+msgstr ""
+
+#: templates/js/stock.js:90
+msgid "No test results found"
+msgstr ""
+
+#: templates/js/stock.js:132
+msgid "Test Date"
+msgstr ""
+
+#: templates/js/stock.js:292
+msgid "In production"
+msgstr ""
+
+#: templates/js/stock.js:296
+msgid "Installed in Stock Item"
+msgstr ""
+
+#: templates/js/stock.js:304
+msgid "Assigned to Sales Order"
+msgstr ""
+
+#: templates/js/stock.js:336
+msgid "No stock items matching query"
+msgstr ""
+
+#: templates/js/stock.js:357
+msgid "items"
+msgstr ""
+
+#: templates/js/stock.js:449
+msgid "batches"
+msgstr ""
+
+#: templates/js/stock.js:476
+msgid "locations"
+msgstr ""
+
+#: templates/js/stock.js:478
+msgid "Undefined location"
+msgstr ""
+
+#: templates/js/stock.js:579
+msgid "Stock item is in production"
+msgstr ""
+
+#: templates/js/stock.js:584
+msgid "Stock item assigned to sales order"
+msgstr ""
+
+#: templates/js/stock.js:587
+msgid "Stock item assigned to customer"
+msgstr ""
+
+#: templates/js/stock.js:591
+msgid "Stock item has expired"
+msgstr ""
+
+#: templates/js/stock.js:593
+msgid "Stock item will expire soon"
+msgstr ""
+
+#: templates/js/stock.js:597
+msgid "Stock item has been allocated"
+msgstr ""
+
+#: templates/js/stock.js:601
+msgid "Stock item has been installed in another item"
+msgstr ""
+
+#: templates/js/stock.js:609
+msgid "Stock item has been rejected"
+msgstr ""
+
+#: templates/js/stock.js:613
+msgid "Stock item is lost"
+msgstr ""
+
+#: templates/js/stock.js:616
+msgid "Stock item is destroyed"
+msgstr ""
+
+#: templates/js/stock.js:620 templates/js/table_filters.js:138
+msgid "Depleted"
+msgstr ""
+
+#: templates/js/stock.js:649
+msgid "Stocktake"
+msgstr ""
+
+#: templates/js/stock.js:825
+msgid "Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:840
+msgid "Set Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:854
+msgid "Select Status Code"
+msgstr ""
+
+#: templates/js/stock.js:855
+msgid "Status code must be selected"
+msgstr ""
+
+#: templates/js/stock.js:1050
+msgid "No user information"
+msgstr ""
+
+#: templates/js/stock.js:1060
+msgid "Edit tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1061
+msgid "Delete tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1170
+msgid "Create New Location"
+msgstr ""
+
+#: templates/js/stock.js:1269
+msgid "Serial"
+msgstr ""
+
+#: templates/js/stock.js:1362 templates/js/table_filters.js:171
+msgid "Installed"
+msgstr ""
+
+#: templates/js/stock.js:1387
+msgid "Install item"
+msgstr ""
+
+#: templates/js/table_filters.js:42
+msgid "Trackable Part"
+msgstr ""
+
+#: templates/js/table_filters.js:46
+msgid "Validated"
+msgstr ""
+
+#: templates/js/table_filters.js:71
+msgid "Include locations"
+msgstr ""
+
+#: templates/js/table_filters.js:81 templates/js/table_filters.js:82
+#: templates/js/table_filters.js:295
+msgid "Include subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:92 templates/js/table_filters.js:181
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/table_filters.js:95 templates/js/table_filters.js:188
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/table_filters.js:96 templates/js/table_filters.js:189
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:99 templates/js/table_filters.js:192
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/table_filters.js:100 templates/js/table_filters.js:193
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:103 templates/js/table_filters.js:104
+#: templates/js/table_filters.js:184 templates/js/table_filters.js:185
+msgid "Serial number"
+msgstr ""
+
+#: templates/js/table_filters.js:108 templates/js/table_filters.js:202
+msgid "Batch code"
+msgstr ""
+
+#: templates/js/table_filters.js:118 templates/js/table_filters.js:285
+msgid "Active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:119
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:124
+msgid "Part is an assembly"
+msgstr ""
+
+#: templates/js/table_filters.js:128
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:129
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:134
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/table_filters.js:139
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/table_filters.js:146
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/table_filters.js:151
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/table_filters.js:157
+msgid "Show items which are in stock"
+msgstr ""
+
+#: templates/js/table_filters.js:161
+msgid "In Production"
+msgstr ""
+
+#: templates/js/table_filters.js:162
+msgid "Show items which are in production"
+msgstr ""
+
+#: templates/js/table_filters.js:166
+msgid "Include Variants"
+msgstr ""
+
+#: templates/js/table_filters.js:167
+msgid "Include stock items for variant parts"
+msgstr ""
+
+#: templates/js/table_filters.js:172
+msgid "Show stock items which are installed in another item"
+msgstr ""
+
+#: templates/js/table_filters.js:176
+msgid "Sent to customer"
+msgstr ""
+
+#: templates/js/table_filters.js:177
+msgid "Show items which have been assigned to a customer"
+msgstr ""
+
+#: templates/js/table_filters.js:197 templates/js/table_filters.js:198
+msgid "Stock status"
+msgstr ""
+
+#: templates/js/table_filters.js:231
+msgid "Build status"
+msgstr ""
+
+#: templates/js/table_filters.js:250 templates/js/table_filters.js:267
+msgid "Order status"
+msgstr ""
+
+#: templates/js/table_filters.js:255 templates/js/table_filters.js:272
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/table_filters.js:296
+msgid "Include parts in subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:300
+msgid "Has IPN"
+msgstr ""
+
+#: templates/js/table_filters.js:301
+msgid "Part has internal part number"
+msgstr ""
+
+#: templates/js/table_filters.js:306
+msgid "Show active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:314
+msgid "Stock available"
+msgstr ""
+
+#: templates/js/table_filters.js:330
+msgid "Starred"
+msgstr ""
+
+#: templates/js/table_filters.js:342
+msgid "Purchasable"
+msgstr ""
+
+#: templates/js/tables.js:321
+msgid "Loading data"
+msgstr ""
+
+#: templates/js/tables.js:324
+msgid "rows per page"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "Showing"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "to"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "of"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "rows"
+msgstr ""
+
+#: templates/js/tables.js:330 templates/search_form.html:6
+#: templates/search_form.html:8
+msgid "Search"
+msgstr ""
+
+#: templates/js/tables.js:333
+msgid "No matching results"
+msgstr ""
+
+#: templates/js/tables.js:336
+msgid "Hide/Show pagination"
+msgstr ""
+
+#: templates/js/tables.js:339
+msgid "Refresh"
+msgstr ""
+
+#: templates/js/tables.js:342
+msgid "Toggle"
+msgstr ""
+
+#: templates/js/tables.js:345
+msgid "Columns"
+msgstr ""
+
+#: templates/js/tables.js:348
+msgid "All"
+msgstr ""
+
+#: templates/modals.html:21 templates/modals.html:46
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/navbar.html:33
+msgid "Buy"
+msgstr ""
+
+#: templates/navbar.html:43
+msgid "Sell"
+msgstr ""
+
+#: templates/navbar.html:55
+msgid "Scan Barcode"
+msgstr ""
+
+#: templates/navbar.html:77 users/models.py:36
+msgid "Admin"
+msgstr ""
+
+#: templates/navbar.html:79
+msgid "Logout"
+msgstr ""
+
+#: templates/navbar.html:81 templates/registration/login.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:104
+msgid "About InvenTree"
+msgstr ""
+
+#: templates/qr_code.html:11
+msgid "QR data not provided"
+msgstr ""
+
+#: templates/registration/logged_out.html:51
+msgid "You have been logged out"
+msgstr ""
+
+#: templates/registration/logged_out.html:52
+#: templates/registration/password_reset_complete.html:52
+#: templates/registration/password_reset_done.html:59
+msgid "Return to login screen"
+msgstr ""
+
+#: templates/registration/login.html:65
+msgid "Enter username"
+msgstr ""
+
+#: templates/registration/login.html:71
+msgid "Password"
+msgstr ""
+
+#: templates/registration/login.html:84
+msgid "Username / password combination is incorrect"
+msgstr ""
+
+#: templates/registration/login.html:96
+#: templates/registration/password_reset_form.html:52
+msgid "Forgotten your password?"
+msgstr ""
+
+#: templates/registration/login.html:96
+msgid "Click here to reset"
+msgstr ""
+
+#: templates/registration/password_reset_complete.html:51
+msgid "Password reset complete"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:53
+#: templates/registration/password_reset_confirm.html:57
+msgid "Change password"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:61
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:52
+msgid ""
+"We've emailed you instructions for setting your password, if an account "
+"exists with the email you entered. You should receive them shortly."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:55
+msgid ""
+"If you don't receive an email, please make sure you've entered the address "
+"you registered with, and check your spam folder."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:53
+msgid "Enter your email address below."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:54
+msgid "An email will be sent with password reset instructions."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:59
+msgid "Send email"
+msgstr ""
+
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
+#: templates/stats.html:13
+msgid "Instance Name"
+msgstr ""
+
+#: templates/stats.html:19
+msgid "Server status"
+msgstr ""
+
+#: templates/stats.html:22
+msgid "Healthy"
+msgstr ""
+
+#: templates/stats.html:24
+msgid "Issues detected"
+msgstr ""
+
+#: templates/stats.html:31
+msgid "Background Worker"
+msgstr ""
+
+#: templates/stats.html:34
+msgid "Background worker not running"
+msgstr ""
+
+#: templates/stats.html:42
+msgid "Email Settings"
+msgstr ""
+
+#: templates/stats.html:45
+msgid "Email settings not configured"
+msgstr ""
+
+#: templates/stock_table.html:14
+msgid "Export Stock Information"
+msgstr ""
+
+#: templates/stock_table.html:27
+msgid "Barcode Actions"
+msgstr ""
+
+#: templates/stock_table.html:43
+msgid "Print test reports"
+msgstr ""
+
+#: templates/stock_table.html:54
+msgid "Add to selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:55
+msgid "Remove from selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:56
+msgid "Stocktake selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move stock"
+msgstr ""
+
+#: templates/stock_table.html:58
+msgid "Order selected items"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change status"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change stock status"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete selected items"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/yesnolabel.html:4
+msgid "Yes"
+msgstr ""
+
+#: templates/yesnolabel.html:6
+msgid "No"
+msgstr ""
+
+#: users/admin.py:64
+msgid "Users"
+msgstr ""
+
+#: users/admin.py:65
+msgid "Select which users are assigned to this group"
+msgstr ""
+
+#: users/admin.py:187
+msgid "The following users are members of multiple groups:"
+msgstr ""
+
+#: users/admin.py:210
+msgid "Personal info"
+msgstr ""
+
+#: users/admin.py:211
+msgid "Permissions"
+msgstr ""
+
+#: users/admin.py:214
+msgid "Important dates"
+msgstr ""
+
+#: users/models.py:167
+msgid "Permission set"
+msgstr ""
+
+#: users/models.py:175
+msgid "Group"
+msgstr ""
+
+#: users/models.py:178
+msgid "View"
+msgstr ""
+
+#: users/models.py:178
+msgid "Permission to view items"
+msgstr ""
+
+#: users/models.py:180
+msgid "Permission to add items"
+msgstr ""
+
+#: users/models.py:182
+msgid "Change"
+msgstr ""
+
+#: users/models.py:182
+msgid "Permissions to edit items"
+msgstr ""
+
+#: users/models.py:184
+msgid "Permission to delete items"
+msgstr ""
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.mo b/InvenTree/locale/zh/LC_MESSAGES/django.mo
new file mode 100644
index 0000000000..6c5906d1cd
Binary files /dev/null and b/InvenTree/locale/zh/LC_MESSAGES/django.mo differ
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
new file mode 100644
index 0000000000..aa24972bd8
--- /dev/null
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -0,0 +1,7287 @@
+# 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 , YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-04-21 17:15+1000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: InvenTree/api.py:64
+msgid "API endpoint not found"
+msgstr ""
+
+#: InvenTree/api.py:110
+msgid "No action specified"
+msgstr ""
+
+#: InvenTree/api.py:124
+msgid "No matching action found"
+msgstr ""
+
+#: InvenTree/fields.py:44
+msgid "Enter date"
+msgstr ""
+
+#: InvenTree/forms.py:110 build/forms.py:101 build/forms.py:122
+#: build/forms.py:144 build/forms.py:168 build/forms.py:184 build/forms.py:226
+#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
+#: order/forms.py:71 part/forms.py:134
+msgid "Confirm"
+msgstr ""
+
+#: InvenTree/forms.py:126
+msgid "Confirm delete"
+msgstr ""
+
+#: InvenTree/forms.py:127
+msgid "Confirm item deletion"
+msgstr ""
+
+#: InvenTree/forms.py:159 templates/registration/login.html:77
+msgid "Enter password"
+msgstr ""
+
+#: InvenTree/forms.py:160
+msgid "Enter new password"
+msgstr ""
+
+#: InvenTree/forms.py:167
+msgid "Confirm password"
+msgstr ""
+
+#: InvenTree/forms.py:168
+msgid "Confirm new password"
+msgstr ""
+
+#: InvenTree/forms.py:203
+msgid "Apply Theme"
+msgstr ""
+
+#: InvenTree/forms.py:233
+msgid "Select Category"
+msgstr ""
+
+#: InvenTree/helpers.py:375 order/models.py:245 order/models.py:344
+#: stock/views.py:1763
+msgid "Invalid quantity provided"
+msgstr ""
+
+#: InvenTree/helpers.py:378
+msgid "Empty serial number string"
+msgstr ""
+
+#: InvenTree/helpers.py:399
+#, python-brace-format
+msgid "Duplicate serial: {n}"
+msgstr ""
+
+#: InvenTree/helpers.py:403 InvenTree/helpers.py:406 InvenTree/helpers.py:409
+#, python-brace-format
+msgid "Invalid group: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:414
+#, python-brace-format
+msgid "Duplicate serial: {g}"
+msgstr ""
+
+#: InvenTree/helpers.py:422
+msgid "No serial numbers found"
+msgstr ""
+
+#: InvenTree/helpers.py:426
+#, python-brace-format
+msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgstr ""
+
+#: InvenTree/models.py:59 stock/models.py:1662
+msgid "Attachment"
+msgstr ""
+
+#: InvenTree/models.py:60
+msgid "Select file to attach"
+msgstr ""
+
+#: InvenTree/models.py:62 templates/attachment_table.html:16
+msgid "Comment"
+msgstr ""
+
+#: InvenTree/models.py:62
+msgid "File comment"
+msgstr ""
+
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1908
+#: report/templates/report/inventree_test_report_base.html:91
+#: templates/js/stock.js:1041
+msgid "User"
+msgstr ""
+
+#: InvenTree/models.py:72
+msgid "upload date"
+msgstr ""
+
+#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:101
+#: part/models.py:686 part/models.py:2049 part/templates/part/params.html:27
+#: report/models.py:179 templates/InvenTree/search.html:137
+#: templates/InvenTree/search.html:289 templates/js/part.js:110
+#: templates/js/part.js:553 templates/js/stock.js:944
+msgid "Name"
+msgstr ""
+
+#: InvenTree/models.py:114 build/models.py:134
+#: build/templates/build/detail.html:21 company/models.py:342
+#: company/models.py:494 company/templates/company/detail.html:27
+#: company/templates/company/manufacturer_part_base.html:72
+#: company/templates/company/supplier_part_base.html:71
+#: company/templates/company/supplier_part_detail.html:31 label/models.py:108
+#: order/models.py:101 order/templates/order/purchase_order_detail.html:168
+#: part/models.py:710 part/templates/part/detail.html:54
+#: part/templates/part/set_category.html:14 report/models.py:192
+#: report/models.py:505 report/models.py:544
+#: report/templates/report/inventree_build_order_base.html:118
+#: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224
+#: templates/InvenTree/search.html:296
+#: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190
+#: templates/js/build.js:736 templates/js/build.js:1004
+#: templates/js/company.js:56 templates/js/order.js:183
+#: templates/js/order.js:280 templates/js/part.js:169 templates/js/part.js:252
+#: templates/js/part.js:371 templates/js/part.js:565 templates/js/part.js:643
+#: templates/js/stock.js:554 templates/js/stock.js:956
+#: templates/js/stock.js:1015
+msgid "Description"
+msgstr ""
+
+#: InvenTree/models.py:115
+msgid "Description (optional)"
+msgstr ""
+
+#: InvenTree/models.py:123
+msgid "parent"
+msgstr ""
+
+#: InvenTree/settings.py:493
+msgid "English"
+msgstr ""
+
+#: InvenTree/settings.py:494
+msgid "French"
+msgstr ""
+
+#: InvenTree/settings.py:495
+msgid "German"
+msgstr ""
+
+#: InvenTree/settings.py:496
+msgid "Polish"
+msgstr ""
+
+#: InvenTree/settings.py:497
+msgid "Turkish"
+msgstr ""
+
+#: InvenTree/status.py:93
+msgid "Background worker check failed"
+msgstr ""
+
+#: InvenTree/status.py:97
+msgid "Email backend not configured"
+msgstr ""
+
+#: InvenTree/status.py:100
+msgid "InvenTree system health checks failed"
+msgstr ""
+
+#: InvenTree/status_codes.py:102 InvenTree/status_codes.py:143
+#: InvenTree/status_codes.py:236
+msgid "Pending"
+msgstr ""
+
+#: InvenTree/status_codes.py:103
+msgid "Placed"
+msgstr ""
+
+#: InvenTree/status_codes.py:104 InvenTree/status_codes.py:239
+msgid "Complete"
+msgstr ""
+
+#: InvenTree/status_codes.py:105 InvenTree/status_codes.py:145
+#: InvenTree/status_codes.py:238
+msgid "Cancelled"
+msgstr ""
+
+#: InvenTree/status_codes.py:106 InvenTree/status_codes.py:146
+#: InvenTree/status_codes.py:188
+msgid "Lost"
+msgstr ""
+
+#: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147
+#: InvenTree/status_codes.py:190
+msgid "Returned"
+msgstr ""
+
+#: InvenTree/status_codes.py:144
+#: order/templates/order/sales_order_base.html:124
+msgid "Shipped"
+msgstr ""
+
+#: InvenTree/status_codes.py:184
+msgid "OK"
+msgstr ""
+
+#: InvenTree/status_codes.py:185
+msgid "Attention needed"
+msgstr ""
+
+#: InvenTree/status_codes.py:186
+msgid "Damaged"
+msgstr ""
+
+#: InvenTree/status_codes.py:187
+msgid "Destroyed"
+msgstr ""
+
+#: InvenTree/status_codes.py:189
+msgid "Rejected"
+msgstr ""
+
+#: InvenTree/status_codes.py:237
+msgid "Production"
+msgstr ""
+
+#: InvenTree/validators.py:22
+msgid "Not a valid currency code"
+msgstr ""
+
+#: InvenTree/validators.py:50
+msgid "Invalid character in part name"
+msgstr ""
+
+#: InvenTree/validators.py:63
+#, python-brace-format
+msgid "IPN must match regex pattern {pat}"
+msgstr ""
+
+#: InvenTree/validators.py:77 InvenTree/validators.py:91
+#: InvenTree/validators.py:105
+msgid "Reference must match pattern"
+msgstr ""
+
+#: InvenTree/validators.py:113
+#, python-brace-format
+msgid "Illegal character in name ({x})"
+msgstr ""
+
+#: InvenTree/validators.py:132 InvenTree/validators.py:148
+msgid "Overage value must not be negative"
+msgstr ""
+
+#: InvenTree/validators.py:150
+msgid "Overage must not exceed 100%"
+msgstr ""
+
+#: InvenTree/validators.py:157
+msgid "Overage must be an integer value or a percentage"
+msgstr ""
+
+#: InvenTree/views.py:587
+msgid "Delete Item"
+msgstr ""
+
+#: InvenTree/views.py:636
+msgid "Check box to confirm item deletion"
+msgstr ""
+
+#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+msgid "Edit User Information"
+msgstr ""
+
+#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+msgid "Set Password"
+msgstr ""
+
+#: InvenTree/views.py:681
+msgid "Password fields must match"
+msgstr ""
+
+#: InvenTree/views.py:887 templates/navbar.html:95
+msgid "System Information"
+msgstr ""
+
+#: barcodes/api.py:53 barcodes/api.py:150
+msgid "Must provide barcode_data parameter"
+msgstr ""
+
+#: barcodes/api.py:126
+msgid "No match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:128
+msgid "Match found for barcode data"
+msgstr ""
+
+#: barcodes/api.py:153
+msgid "Must provide stockitem parameter"
+msgstr ""
+
+#: barcodes/api.py:160
+msgid "No matching stock item found"
+msgstr ""
+
+#: barcodes/api.py:190
+msgid "Barcode already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:194
+msgid "Barcode already matches StockLocation object"
+msgstr ""
+
+#: barcodes/api.py:198
+msgid "Barcode already matches Part object"
+msgstr ""
+
+#: barcodes/api.py:204 barcodes/api.py:216
+msgid "Barcode hash already matches StockItem object"
+msgstr ""
+
+#: barcodes/api.py:222
+msgid "Barcode associated with StockItem"
+msgstr ""
+
+#: build/forms.py:36
+msgid "Build Order reference"
+msgstr ""
+
+#: build/forms.py:37
+msgid "Order target date"
+msgstr ""
+
+#: build/forms.py:41 build/templates/build/build_base.html:136
+#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
+#: order/templates/order/order_base.html:124
+#: order/templates/order/sales_order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:126
+#: templates/js/build.js:783 templates/js/order.js:200
+#: templates/js/order.js:298
+msgid "Target Date"
+msgstr ""
+
+#: build/forms.py:42 build/models.py:224
+msgid ""
+"Target date for build completion. Build will be overdue after this date."
+msgstr ""
+
+#: build/forms.py:47 build/forms.py:89 build/forms.py:265 build/models.py:1227
+#: build/templates/build/allocation_card.html:23
+#: build/templates/build/auto_allocate.html:17
+#: build/templates/build/build_base.html:123
+#: build/templates/build/detail.html:31 common/models.py:703
+#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
+#: order/forms.py:188 order/forms.py:205 order/forms.py:239 order/forms.py:261
+#: order/forms.py:278 order/models.py:593 order/models.py:784
+#: order/templates/order/order_wizard/select_parts.html:32
+#: order/templates/order/purchase_order_detail.html:200
+#: order/templates/order/sales_order_detail.html:70
+#: order/templates/order/sales_order_detail.html:77
+#: order/templates/order/sales_order_detail.html:159
+#: order/templates/order/sales_order_detail.html:224 part/forms.py:342
+#: part/forms.py:371 part/forms.py:387 part/models.py:2178
+#: part/templates/part/allocation.html:19
+#: part/templates/part/allocation.html:53
+#: part/templates/part/part_pricing.html:11
+#: part/templates/part/part_pricing.html:18
+#: part/templates/part/sale_prices.html:85
+#: report/templates/report/inventree_build_order_base.html:114
+#: report/templates/report/inventree_po_report.html:91
+#: report/templates/report/inventree_so_report.html:91
+#: report/templates/report/inventree_test_report_base.html:77
+#: stock/forms.py:175 stock/forms.py:308 stock/models.py:1566
+#: stock/templates/stock/item_base.html:244
+#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
+#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
+#: templates/js/stock.js:1033 templates/js/stock.js:1271
+msgid "Quantity"
+msgstr ""
+
+#: build/forms.py:48
+msgid "Number of items to build"
+msgstr ""
+
+#: build/forms.py:90
+msgid "Enter quantity for build output"
+msgstr ""
+
+#: build/forms.py:94 order/forms.py:233 stock/forms.py:118
+msgid "Serial Numbers"
+msgstr ""
+
+#: build/forms.py:96
+msgid "Enter serial numbers for build outputs"
+msgstr ""
+
+#: build/forms.py:102
+msgid "Confirm creation of build output"
+msgstr ""
+
+#: build/forms.py:123
+msgid "Confirm deletion of build output"
+msgstr ""
+
+#: build/forms.py:144
+msgid "Confirm unallocation of stock"
+msgstr ""
+
+#: build/forms.py:168
+msgid "Confirm stock allocation"
+msgstr ""
+
+#: build/forms.py:185
+msgid "Mark build as complete"
+msgstr ""
+
+#: build/forms.py:209 build/templates/build/auto_allocate.html:18
+#: order/forms.py:82 stock/forms.py:347
+#: stock/templates/stock/item_base.html:274
+#: stock/templates/stock/stock_adjust.html:17
+#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
+#: templates/js/barcode.js:531 templates/js/build.js:490
+#: templates/js/stock.js:641
+msgid "Location"
+msgstr ""
+
+#: build/forms.py:210
+msgid "Location of completed parts"
+msgstr ""
+
+#: build/forms.py:214 build/templates/build/build_base.html:128
+#: build/templates/build/detail.html:59 order/models.py:445
+#: order/templates/order/receive_parts.html:24
+#: stock/templates/stock/item_base.html:392 templates/InvenTree/search.html:252
+#: templates/js/barcode.js:119 templates/js/build.js:770
+#: templates/js/order.js:187 templates/js/order.js:285
+#: templates/js/stock.js:628 templates/js/stock.js:1279
+msgid "Status"
+msgstr ""
+
+#: build/forms.py:215
+msgid "Build output stock status"
+msgstr ""
+
+#: build/forms.py:222
+msgid "Confirm incomplete"
+msgstr ""
+
+#: build/forms.py:223
+msgid "Confirm completion with incomplete stock allocation"
+msgstr ""
+
+#: build/forms.py:226
+msgid "Confirm build completion"
+msgstr ""
+
+#: build/forms.py:251
+msgid "Confirm cancel"
+msgstr ""
+
+#: build/forms.py:251 build/views.py:66
+msgid "Confirm build cancellation"
+msgstr ""
+
+#: build/forms.py:265
+msgid "Select quantity of stock to allocate"
+msgstr ""
+
+#: build/models.py:65 build/templates/build/build_base.html:9
+#: build/templates/build/build_base.html:63
+#: part/templates/part/allocation.html:23
+#: report/templates/report/inventree_build_order_base.html:106
+msgid "Build Order"
+msgstr ""
+
+#: build/models.py:66 build/templates/build/index.html:8
+#: build/templates/build/index.html:15 order/templates/order/so_builds.html:12
+#: order/templates/order/so_navbar.html:19
+#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
+#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
+#: templates/InvenTree/search.html:185
+#: templates/InvenTree/settings/tabs.html:31 users/models.py:41
+msgid "Build Orders"
+msgstr ""
+
+#: build/models.py:126
+msgid "Build Order Reference"
+msgstr ""
+
+#: build/models.py:127 order/models.py:99 order/models.py:595
+#: order/templates/order/purchase_order_detail.html:195
+#: order/templates/order/sales_order_detail.html:219 part/models.py:2187
+#: report/templates/report/inventree_po_report.html:92
+#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
+#: templates/js/build.js:565 templates/js/build.js:1008
+msgid "Reference"
+msgstr ""
+
+#: build/models.py:137
+msgid "Brief description of the build"
+msgstr ""
+
+#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/templates/build/detail.html:77
+msgid "Parent Build"
+msgstr ""
+
+#: build/models.py:147
+msgid "BuildOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:152 build/templates/build/auto_allocate.html:16
+#: build/templates/build/build_base.html:118
+#: build/templates/build/detail.html:26 company/models.py:669
+#: order/models.py:637 order/models.py:669
+#: order/templates/order/order_wizard/select_parts.html:30
+#: order/templates/order/purchase_order_detail.html:156
+#: order/templates/order/receive_parts.html:19
+#: order/templates/order/sales_order_detail.html:207 part/models.py:321
+#: part/models.py:1876 part/models.py:1888 part/models.py:1906
+#: part/models.py:1981 part/models.py:2077 part/models.py:2162
+#: part/templates/part/part_app_base.html:8
+#: part/templates/part/part_pricing.html:14 part/templates/part/related.html:29
+#: part/templates/part/set_category.html:13
+#: report/templates/report/inventree_build_order_base.html:110
+#: report/templates/report/inventree_po_report.html:90
+#: report/templates/report/inventree_so_report.html:90
+#: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210
+#: templates/js/barcode.js:362 templates/js/bom.js:163
+#: templates/js/build.js:741 templates/js/build.js:981
+#: templates/js/company.js:140 templates/js/company.js:238
+#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
+#: templates/js/stock.js:1343
+msgid "Part"
+msgstr ""
+
+#: build/models.py:160
+msgid "Select part to build"
+msgstr ""
+
+#: build/models.py:165
+msgid "Sales Order Reference"
+msgstr ""
+
+#: build/models.py:169
+msgid "SalesOrder to which this build is allocated"
+msgstr ""
+
+#: build/models.py:174
+msgid "Source Location"
+msgstr ""
+
+#: build/models.py:178
+msgid ""
+"Select location to take stock from for this build (leave blank to take from "
+"any stock location)"
+msgstr ""
+
+#: build/models.py:183
+msgid "Destination Location"
+msgstr ""
+
+#: build/models.py:187
+msgid "Select location where the completed items will be stored"
+msgstr ""
+
+#: build/models.py:191
+msgid "Build Quantity"
+msgstr ""
+
+#: build/models.py:194
+msgid "Number of stock items to build"
+msgstr ""
+
+#: build/models.py:198
+msgid "Completed items"
+msgstr ""
+
+#: build/models.py:200
+msgid "Number of stock items which have been completed"
+msgstr ""
+
+#: build/models.py:204 part/templates/part/part_base.html:160
+msgid "Build Status"
+msgstr ""
+
+#: build/models.py:208
+msgid "Build status code"
+msgstr ""
+
+#: build/models.py:212 stock/models.py:432
+msgid "Batch Code"
+msgstr ""
+
+#: build/models.py:216
+msgid "Batch code for this build output"
+msgstr ""
+
+#: build/models.py:219 order/models.py:105 part/models.py:882
+#: part/templates/part/detail.html:126 templates/js/order.js:293
+msgid "Creation Date"
+msgstr ""
+
+#: build/models.py:223 order/models.py:451
+msgid "Target completion date"
+msgstr ""
+
+#: build/models.py:227 order/models.py:218 templates/js/build.js:788
+msgid "Completion Date"
+msgstr ""
+
+#: build/models.py:233
+msgid "completed by"
+msgstr ""
+
+#: build/models.py:241
+msgid "Issued by"
+msgstr ""
+
+#: build/models.py:242
+msgid "User who issued this build order"
+msgstr ""
+
+#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/templates/build/detail.html:105 order/models.py:119
+#: order/templates/order/order_base.html:138
+#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: report/templates/report/inventree_build_order_base.html:159
+msgid "Responsible"
+msgstr ""
+
+#: build/models.py:251
+msgid "User responsible for this build order"
+msgstr ""
+
+#: build/models.py:256 build/templates/build/detail.html:91
+#: company/templates/company/manufacturer_part_base.html:79
+#: company/templates/company/manufacturer_part_detail.html:28
+#: company/templates/company/supplier_part_base.html:78
+#: company/templates/company/supplier_part_detail.html:28
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
+#: stock/models.py:426 stock/templates/stock/item_base.html:334
+msgid "External Link"
+msgstr ""
+
+#: build/models.py:257 part/models.py:744 stock/models.py:428
+msgid "Link to external URL"
+msgstr ""
+
+#: build/models.py:261 build/templates/build/navbar.html:53
+#: company/models.py:135 company/models.py:501
+#: company/templates/company/navbar.html:70
+#: company/templates/company/navbar.html:73 order/models.py:123
+#: order/models.py:597 order/templates/order/po_navbar.html:29
+#: order/templates/order/po_navbar.html:32
+#: order/templates/order/purchase_order_detail.html:234
+#: order/templates/order/sales_order_detail.html:264
+#: order/templates/order/so_navbar.html:33
+#: order/templates/order/so_navbar.html:36 part/models.py:871
+#: part/templates/part/navbar.html:128
+#: report/templates/report/inventree_build_order_base.html:173
+#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
+#: stock/models.py:498 stock/models.py:1558 stock/models.py:1668
+#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
+#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+msgid "Notes"
+msgstr ""
+
+#: build/models.py:262
+msgid "Extra build notes"
+msgstr ""
+
+#: build/models.py:739
+msgid "No build output specified"
+msgstr ""
+
+#: build/models.py:742
+msgid "Build output is already completed"
+msgstr ""
+
+#: build/models.py:745
+msgid "Build output does not match Build Order"
+msgstr ""
+
+#: build/models.py:838
+msgid "Completed build output"
+msgstr ""
+
+#: build/models.py:1118
+msgid "BuildItem must be unique for build, stock_item and install_into"
+msgstr ""
+
+#: build/models.py:1143
+msgid ""
+"Build item must specify a build output, as master part is marked as trackable"
+msgstr ""
+
+#: build/models.py:1147
+#, python-brace-format
+msgid "Selected stock item not found in BOM for part '{p}'"
+msgstr ""
+
+#: build/models.py:1151
+#, python-brace-format
+msgid "Allocated quantity ({n}) must not exceed available quantity ({q})"
+msgstr ""
+
+#: build/models.py:1158 order/models.py:758
+msgid "StockItem is over-allocated"
+msgstr ""
+
+#: build/models.py:1162 order/models.py:761
+msgid "Allocation quantity must be greater than zero"
+msgstr ""
+
+#: build/models.py:1166
+msgid "Quantity must be 1 for serialized stock"
+msgstr ""
+
+#: build/models.py:1206 stock/templates/stock/item_base.html:306
+#: templates/InvenTree/search.html:183 templates/js/build.js:714
+#: templates/navbar.html:29
+msgid "Build"
+msgstr ""
+
+#: build/models.py:1207
+msgid "Build to allocate parts"
+msgstr ""
+
+#: build/models.py:1214 part/templates/part/allocation.html:18
+#: part/templates/part/allocation.html:24
+#: part/templates/part/allocation.html:31
+#: part/templates/part/allocation.html:49
+#: stock/templates/stock/item_base.html:8
+#: stock/templates/stock/item_base.html:93
+#: stock/templates/stock/item_base.html:328
+#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
+#: templates/js/stock.js:1004 templates/js/stock.js:1262
+msgid "Stock Item"
+msgstr ""
+
+#: build/models.py:1215
+msgid "Source stock item"
+msgstr ""
+
+#: build/models.py:1228
+msgid "Stock quantity to allocate to build"
+msgstr ""
+
+#: build/models.py:1236
+msgid "Install into"
+msgstr ""
+
+#: build/models.py:1237
+msgid "Destination stock item"
+msgstr ""
+
+#: build/templates/build/allocate.html:7
+msgid "Allocate Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:15
+msgid "Allocate Stock to Build"
+msgstr ""
+
+#: build/templates/build/allocate.html:22
+msgid "Allocate stock to build"
+msgstr ""
+
+#: build/templates/build/allocate.html:23
+msgid "Auto Allocate"
+msgstr ""
+
+#: build/templates/build/allocate.html:25 templates/js/build.js:646
+msgid "Unallocate stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:26 build/views.py:308 build/views.py:794
+msgid "Unallocate Stock"
+msgstr ""
+
+#: build/templates/build/allocate.html:29
+msgid "Order required parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:30
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32 order/views.py:794
+#: part/templates/part/category.html:127
+msgid "Order Parts"
+msgstr ""
+
+#: build/templates/build/allocate.html:36
+msgid "Untracked stock has been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:40
+msgid "Untracked stock has not been fully allocated for this Build Order"
+msgstr ""
+
+#: build/templates/build/allocate.html:47
+msgid "This Build Order does not have any associated untracked BOM items"
+msgstr ""
+
+#: build/templates/build/allocation_card.html:21
+#: build/templates/build/complete_output.html:46
+#: order/templates/order/sales_order_detail.html:75
+#: order/templates/order/sales_order_detail.html:157
+#: report/templates/report/inventree_test_report_base.html:75
+#: stock/models.py:420 stock/templates/stock/item_base.html:238
+#: templates/js/build.js:474
+msgid "Serial Number"
+msgstr ""
+
+#: build/templates/build/attachments.html:12
+#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
+#: order/templates/order/po_navbar.html:26
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
+#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: stock/templates/stock/navbar.html:50
+msgid "Attachments"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:9
+msgid "Automatically Allocate Stock"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:10
+msgid ""
+"The following stock items will be allocated to the specified build output"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:37
+msgid "No stock items found that can be automatically allocated to this build"
+msgstr ""
+
+#: build/templates/build/auto_allocate.html:39
+msgid "Stock items will have to be manually allocated"
+msgstr ""
+
+#: build/templates/build/build_base.html:16
+#, python-format
+msgid "This Build Order is allocated to Sales Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:22
+#, python-format
+msgid "This Build Order is a child of Build Order %(link)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:31
+msgid "Build Order is ready to mark as completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:36
+msgid "Build Order cannot be completed as outstanding outputs remain"
+msgstr ""
+
+#: build/templates/build/build_base.html:41
+msgid "Required build quantity has not yet been completed"
+msgstr ""
+
+#: build/templates/build/build_base.html:46
+msgid "Stock has not been fully allocated to this Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:65
+#: company/templates/company/company_base.html:40
+#: company/templates/company/manufacturer_part_base.html:25
+#: company/templates/company/supplier_part_base.html:26
+#: order/templates/order/order_base.html:26
+#: order/templates/order/sales_order_base.html:35
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
+#: stock/templates/stock/item_base.html:118
+#: stock/templates/stock/location.html:31
+msgid "Admin view"
+msgstr ""
+
+#: build/templates/build/build_base.html:71
+#: build/templates/build/build_base.html:140
+#: order/templates/order/order_base.html:32
+#: order/templates/order/order_base.html:86
+#: order/templates/order/sales_order_base.html:41
+#: order/templates/order/sales_order_base.html:86
+#: templates/js/table_filters.js:240 templates/js/table_filters.js:259
+#: templates/js/table_filters.js:276
+msgid "Overdue"
+msgstr ""
+
+#: build/templates/build/build_base.html:80
+msgid "Print actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:84
+msgid "Print Build Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:90
+#: build/templates/build/build_base.html:215
+msgid "Complete Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:95
+msgid "Build actions"
+msgstr ""
+
+#: build/templates/build/build_base.html:99
+msgid "Edit Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:101
+#: build/templates/build/build_base.html:199 build/views.py:57
+msgid "Cancel Build"
+msgstr ""
+
+#: build/templates/build/build_base.html:114
+#: build/templates/build/detail.html:11
+msgid "Build Details"
+msgstr ""
+
+#: build/templates/build/build_base.html:140
+#, python-format
+msgid "This build was due on %(target)s"
+msgstr ""
+
+#: build/templates/build/build_base.html:147
+#: build/templates/build/detail.html:64
+msgid "Progress"
+msgstr ""
+
+#: build/templates/build/build_base.html:160
+#: build/templates/build/detail.html:84 order/models.py:667
+#: order/templates/order/sales_order_base.html:9
+#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_ship.html:25
+#: part/templates/part/allocation.html:30
+#: report/templates/report/inventree_build_order_base.html:136
+#: report/templates/report/inventree_so_report.html:77
+#: stock/templates/stock/item_base.html:268 templates/js/order.js:245
+msgid "Sales Order"
+msgstr ""
+
+#: build/templates/build/build_base.html:167
+#: build/templates/build/detail.html:98
+#: report/templates/report/inventree_build_order_base.html:153
+msgid "Issued By"
+msgstr ""
+
+#: build/templates/build/build_base.html:207
+msgid "Incomplete Outputs"
+msgstr ""
+
+#: build/templates/build/build_base.html:208
+msgid "Build Order cannot be completed as incomplete build outputs remain"
+msgstr ""
+
+#: build/templates/build/build_children.html:10
+#: build/templates/build/navbar.html:36
+msgid "Child Build Orders"
+msgstr ""
+
+#: build/templates/build/build_output.html:15
+msgid "Incomplete Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output.html:22
+msgid "Create new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:23
+msgid "Create New Output"
+msgstr ""
+
+#: build/templates/build/build_output.html:36
+msgid "Create a new build output"
+msgstr ""
+
+#: build/templates/build/build_output.html:37
+msgid "No incomplete build outputs remain."
+msgstr ""
+
+#: build/templates/build/build_output.html:38
+msgid "Create a new build output using the button above"
+msgstr ""
+
+#: build/templates/build/build_output.html:49
+msgid "Completed Build Outputs"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:7
+msgid "The Bill of Materials contains trackable parts"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:8
+msgid "Build outputs must be generated individually."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:9
+msgid "Multiple build outputs will be created based on the quantity specified."
+msgstr ""
+
+#: build/templates/build/build_output_create.html:15
+msgid "Trackable parts can have serial numbers specified"
+msgstr ""
+
+#: build/templates/build/build_output_create.html:16
+msgid "Enter serial numbers to generate multiple single build outputs"
+msgstr ""
+
+#: build/templates/build/cancel.html:5
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: build/templates/build/complete.html:8
+msgid "Build Order is complete"
+msgstr ""
+
+#: build/templates/build/complete.html:12
+msgid "Build Order is incomplete"
+msgstr ""
+
+#: build/templates/build/complete.html:15
+msgid "Incompleted build outputs remain"
+msgstr ""
+
+#: build/templates/build/complete.html:18
+msgid "Required build quantity has not been completed"
+msgstr ""
+
+#: build/templates/build/complete.html:21
+msgid "Required stock has not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:10
+msgid "Stock allocation is complete for this output"
+msgstr ""
+
+#: build/templates/build/complete_output.html:14
+msgid "Stock allocation is incomplete"
+msgstr ""
+
+#: build/templates/build/complete_output.html:20
+msgid "tracked parts have not been fully allocated"
+msgstr ""
+
+#: build/templates/build/complete_output.html:41
+msgid "The following items will be created"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:7
+msgid "Select a stock item to allocate to the selected build output"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:11
+#, python-format
+msgid ""
+"The allocated stock will be installed into the following build output:
"
+"%(output)s"
+msgstr ""
+
+#: build/templates/build/create_build_item.html:17
+#, python-format
+msgid "No stock available for %(part)s"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:8
+msgid "Are you sure you want to unallocate this stock?"
+msgstr ""
+
+#: build/templates/build/delete_build_item.html:11
+msgid "The selected stock will be unallocated from the build output"
+msgstr ""
+
+#: build/templates/build/detail.html:35
+msgid "Stock Source"
+msgstr ""
+
+#: build/templates/build/detail.html:40
+msgid "Stock can be taken from any available location."
+msgstr ""
+
+#: build/templates/build/detail.html:46 stock/forms.py:169 stock/forms.py:375
+msgid "Destination"
+msgstr ""
+
+#: build/templates/build/detail.html:53
+msgid "Destination location not specified"
+msgstr ""
+
+#: build/templates/build/detail.html:70
+#: stock/templates/stock/item_base.html:292 templates/js/stock.js:636
+#: templates/js/stock.js:1286 templates/js/table_filters.js:107
+#: templates/js/table_filters.js:201
+msgid "Batch"
+msgstr ""
+
+#: build/templates/build/detail.html:116
+#: order/templates/order/order_base.html:111
+#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+msgid "Created"
+msgstr ""
+
+#: build/templates/build/detail.html:127
+msgid "No target date set"
+msgstr ""
+
+#: build/templates/build/detail.html:132 templates/js/build.js:756
+msgid "Completed"
+msgstr ""
+
+#: build/templates/build/detail.html:136
+msgid "Build not complete"
+msgstr ""
+
+#: build/templates/build/edit_build_item.html:7
+msgid "Alter the quantity of stock allocated to the build output"
+msgstr ""
+
+#: build/templates/build/index.html:28 build/views.py:667
+msgid "New Build Order"
+msgstr ""
+
+#: build/templates/build/index.html:37 build/templates/build/index.html:38
+msgid "Print Build Orders"
+msgstr ""
+
+#: build/templates/build/index.html:43
+#: order/templates/order/purchase_orders.html:27
+#: order/templates/order/sales_orders.html:27
+msgid "Display calendar view"
+msgstr ""
+
+#: build/templates/build/index.html:46
+#: order/templates/order/purchase_orders.html:30
+#: order/templates/order/sales_orders.html:30
+msgid "Display list view"
+msgstr ""
+
+#: build/templates/build/navbar.html:12
+msgid "Build Order Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:15
+#: company/templates/company/navbar.html:15
+#: order/templates/order/po_navbar.html:14
+#: order/templates/order/so_navbar.html:15 part/templates/part/navbar.html:15
+msgid "Details"
+msgstr ""
+
+#: build/templates/build/navbar.html:21 build/templates/build/navbar.html:24
+#: build/views.py:91
+msgid "Allocate Stock"
+msgstr ""
+
+#: build/templates/build/navbar.html:29 build/templates/build/navbar.html:32
+msgid "Build Outputs"
+msgstr ""
+
+#: build/templates/build/navbar.html:39
+msgid "Child Builds"
+msgstr ""
+
+#: build/templates/build/navbar.html:50
+msgid "Build Order Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:12
+msgid "Build Notes"
+msgstr ""
+
+#: build/templates/build/notes.html:14 company/templates/company/notes.html:13
+#: order/templates/order/order_notes.html:15
+#: order/templates/order/sales_order_notes.html:16
+#: part/templates/part/notes.html:14 stock/templates/stock/item_notes.html:15
+msgid "Edit notes"
+msgstr ""
+
+#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
+#: order/templates/order/order_notes.html:27
+#: order/templates/order/sales_order_notes.html:29
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:470
+#: stock/templates/stock/item_notes.html:26
+msgid "Save"
+msgstr ""
+
+#: build/templates/build/unallocate.html:10
+msgid "Are you sure you wish to unallocate all stock for this build?"
+msgstr ""
+
+#: build/templates/build/unallocate.html:12
+msgid "All incomplete stock allocations will be removed from the build"
+msgstr ""
+
+#: build/views.py:77
+msgid "Build was cancelled"
+msgstr ""
+
+#: build/views.py:138
+msgid "Allocated stock to build output"
+msgstr ""
+
+#: build/views.py:150
+msgid "Create Build Output"
+msgstr ""
+
+#: build/views.py:173 stock/models.py:969 stock/views.py:1789
+msgid "Serial numbers already exist"
+msgstr ""
+
+#: build/views.py:182
+msgid "Serial numbers required for trackable build output"
+msgstr ""
+
+#: build/views.py:248
+msgid "Delete Build Output"
+msgstr ""
+
+#: build/views.py:269 build/views.py:359
+msgid "Confirm unallocation of build stock"
+msgstr ""
+
+#: build/views.py:270 build/views.py:360 stock/views.py:425
+msgid "Check the confirmation box"
+msgstr ""
+
+#: build/views.py:282
+msgid "Build output does not match build"
+msgstr ""
+
+#: build/views.py:284 build/views.py:485
+msgid "Build output must be specified"
+msgstr ""
+
+#: build/views.py:296
+msgid "Build output deleted"
+msgstr ""
+
+#: build/views.py:394
+msgid "Complete Build Order"
+msgstr ""
+
+#: build/views.py:400
+msgid "Build order cannot be completed - incomplete outputs remain"
+msgstr ""
+
+#: build/views.py:411
+msgid "Completed build order"
+msgstr ""
+
+#: build/views.py:427
+msgid "Complete Build Output"
+msgstr ""
+
+#: build/views.py:469
+msgid "Invalid stock status value selected"
+msgstr ""
+
+#: build/views.py:476
+msgid "Quantity to complete cannot exceed build output quantity"
+msgstr ""
+
+#: build/views.py:482
+msgid "Confirm completion of incomplete build"
+msgstr ""
+
+#: build/views.py:581
+msgid "Build output completed"
+msgstr ""
+
+#: build/views.py:721
+msgid "Created new build"
+msgstr ""
+
+#: build/views.py:742
+msgid "Edit Build Order Details"
+msgstr ""
+
+#: build/views.py:775
+msgid "Edited build"
+msgstr ""
+
+#: build/views.py:784
+msgid "Delete Build Order"
+msgstr ""
+
+#: build/views.py:799
+msgid "Removed parts from build allocation"
+msgstr ""
+
+#: build/views.py:811
+msgid "Allocate stock to build output"
+msgstr ""
+
+#: build/views.py:854
+msgid "Item must be currently in stock"
+msgstr ""
+
+#: build/views.py:860
+msgid "Stock item is over-allocated"
+msgstr ""
+
+#: build/views.py:861 templates/js/bom.js:230 templates/js/build.js:575
+#: templates/js/build.js:838 templates/js/build.js:1021
+msgid "Available"
+msgstr ""
+
+#: build/views.py:863
+msgid "Stock item must be selected"
+msgstr ""
+
+#: build/views.py:1026
+msgid "Edit Stock Allocation"
+msgstr ""
+
+#: build/views.py:1030
+msgid "Updated Build Item"
+msgstr ""
+
+#: build/views.py:1059
+msgid "Add Build Order Attachment"
+msgstr ""
+
+#: build/views.py:1072 order/views.py:110 order/views.py:162 part/views.py:172
+#: stock/views.py:277
+msgid "Added attachment"
+msgstr ""
+
+#: build/views.py:1108 order/views.py:189 order/views.py:210
+msgid "Edit Attachment"
+msgstr ""
+
+#: build/views.py:1118 order/views.py:193 order/views.py:214
+msgid "Attachment updated"
+msgstr ""
+
+#: build/views.py:1128 order/views.py:229 order/views.py:243
+msgid "Delete Attachment"
+msgstr ""
+
+#: build/views.py:1133 order/views.py:235 order/views.py:249 stock/views.py:333
+msgid "Deleted attachment"
+msgstr ""
+
+#: common/models.py:56
+msgid "InvenTree Instance Name"
+msgstr ""
+
+#: common/models.py:58
+msgid "String descriptor for the server instance"
+msgstr ""
+
+#: common/models.py:62
+msgid "Use instance name"
+msgstr ""
+
+#: common/models.py:63
+msgid "Use the instance name in the title-bar"
+msgstr ""
+
+#: common/models.py:69 company/models.py:97 company/models.py:98
+msgid "Company name"
+msgstr ""
+
+#: common/models.py:70
+msgid "Internal company name"
+msgstr ""
+
+#: common/models.py:75
+msgid "Base URL"
+msgstr ""
+
+#: common/models.py:76
+msgid "Base URL for server instance"
+msgstr ""
+
+#: common/models.py:82
+msgid "Default Currency"
+msgstr ""
+
+#: common/models.py:83
+msgid "Default currency"
+msgstr ""
+
+#: common/models.py:89
+msgid "Download from URL"
+msgstr ""
+
+#: common/models.py:90
+msgid "Allow download of remote images and files from external URL"
+msgstr ""
+
+#: common/models.py:96
+msgid "Barcode Support"
+msgstr ""
+
+#: common/models.py:97
+msgid "Enable barcode scanner support"
+msgstr ""
+
+#: common/models.py:103
+msgid "IPN Regex"
+msgstr ""
+
+#: common/models.py:104
+msgid "Regular expression pattern for matching Part IPN"
+msgstr ""
+
+#: common/models.py:108
+msgid "Allow Duplicate IPN"
+msgstr ""
+
+#: common/models.py:109
+msgid "Allow multiple parts to share the same IPN"
+msgstr ""
+
+#: common/models.py:115
+msgid "Allow Editing IPN"
+msgstr ""
+
+#: common/models.py:116
+msgid "Allow changing the IPN value while editing a part"
+msgstr ""
+
+#: common/models.py:122
+msgid "Copy Part BOM Data"
+msgstr ""
+
+#: common/models.py:123
+msgid "Copy BOM data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:129
+msgid "Copy Part Parameter Data"
+msgstr ""
+
+#: common/models.py:130
+msgid "Copy parameter data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:136
+msgid "Copy Part Test Data"
+msgstr ""
+
+#: common/models.py:137
+msgid "Copy test data by default when duplicating a part"
+msgstr ""
+
+#: common/models.py:143
+msgid "Copy Category Parameter Templates"
+msgstr ""
+
+#: common/models.py:144
+msgid "Copy category parameter templates when creating a part"
+msgstr ""
+
+#: common/models.py:150
+msgid "Recent Part Count"
+msgstr ""
+
+#: common/models.py:151
+msgid "Number of recent parts to display on index page"
+msgstr ""
+
+#: common/models.py:157 part/models.py:2079 part/templates/part/detail.html:160
+#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:24
+#: templates/js/table_filters.js:310
+msgid "Template"
+msgstr ""
+
+#: common/models.py:158
+msgid "Parts are templates by default"
+msgstr ""
+
+#: common/models.py:164 part/models.py:834 part/templates/part/detail.html:170
+#: templates/js/table_filters.js:123 templates/js/table_filters.js:322
+msgid "Assembly"
+msgstr ""
+
+#: common/models.py:165
+msgid "Parts can be assembled from other components by default"
+msgstr ""
+
+#: common/models.py:171 part/models.py:840 part/templates/part/detail.html:180
+#: templates/js/table_filters.js:326
+msgid "Component"
+msgstr ""
+
+#: common/models.py:172
+msgid "Parts can be used as sub-components by default"
+msgstr ""
+
+#: common/models.py:178 part/models.py:851 part/templates/part/detail.html:200
+msgid "Purchaseable"
+msgstr ""
+
+#: common/models.py:179
+msgid "Parts are purchaseable by default"
+msgstr ""
+
+#: common/models.py:185 part/models.py:856 part/templates/part/detail.html:210
+#: templates/js/table_filters.js:334
+msgid "Salable"
+msgstr ""
+
+#: common/models.py:186
+msgid "Parts are salable by default"
+msgstr ""
+
+#: common/models.py:192 part/models.py:846 part/templates/part/detail.html:190
+#: templates/js/table_filters.js:32 templates/js/table_filters.js:338
+msgid "Trackable"
+msgstr ""
+
+#: common/models.py:193
+msgid "Parts are trackable by default"
+msgstr ""
+
+#: common/models.py:199 part/models.py:866 part/templates/part/detail.html:150
+#: templates/js/table_filters.js:28
+msgid "Virtual"
+msgstr ""
+
+#: common/models.py:200
+msgid "Parts are virtual by default"
+msgstr ""
+
+#: common/models.py:206
+msgid "Show Quantity in Forms"
+msgstr ""
+
+#: common/models.py:207
+msgid "Display available part quantity in some forms"
+msgstr ""
+
+#: common/models.py:213
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:214
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:220
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:221
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:231
+msgid "Test Reports"
+msgstr ""
+
+#: common/models.py:232
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:238
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:239
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:245
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:246
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:252
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:253
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:255 part/templates/part/detail.html:121
+msgid "days"
+msgstr ""
+
+#: common/models.py:260
+msgid "Build Expired Stock"
+msgstr ""
+
+#: common/models.py:261
+msgid "Allow building with expired stock"
+msgstr ""
+
+#: common/models.py:267
+msgid "Stock Ownership Control"
+msgstr ""
+
+#: common/models.py:268
+msgid "Enable ownership control over stock locations and items"
+msgstr ""
+
+#: common/models.py:274
+msgid "Group by Part"
+msgstr ""
+
+#: common/models.py:275
+msgid "Group stock items by part reference in table views"
+msgstr ""
+
+#: common/models.py:281
+msgid "Recent Stock Count"
+msgstr ""
+
+#: common/models.py:282
+msgid "Number of recent stock items to display on index page"
+msgstr ""
+
+#: common/models.py:288
+msgid "Build Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:289
+msgid "Prefix value for build order reference"
+msgstr ""
+
+#: common/models.py:294
+msgid "Build Order Reference Regex"
+msgstr ""
+
+#: common/models.py:295
+msgid "Regular expression pattern for matching build order reference"
+msgstr ""
+
+#: common/models.py:299
+msgid "Sales Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:300
+msgid "Prefix value for sales order reference"
+msgstr ""
+
+#: common/models.py:305
+msgid "Purchase Order Reference Prefix"
+msgstr ""
+
+#: common/models.py:306
+msgid "Prefix value for purchase order reference"
+msgstr ""
+
+#: common/models.py:529
+msgid "Settings key (must be unique - case insensitive"
+msgstr ""
+
+#: common/models.py:531
+msgid "Settings value"
+msgstr ""
+
+#: common/models.py:566
+msgid "Must be an integer value"
+msgstr ""
+
+#: common/models.py:589
+msgid "Value must be a boolean value"
+msgstr ""
+
+#: common/models.py:600
+msgid "Value must be an integer value"
+msgstr ""
+
+#: common/models.py:623
+msgid "Key string must be unique"
+msgstr ""
+
+#: common/models.py:704 company/forms.py:177
+msgid "Price break quantity"
+msgstr ""
+
+#: common/models.py:712 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+msgid "Price"
+msgstr ""
+
+#: common/models.py:713
+msgid "Unit price at specified quantity"
+msgstr ""
+
+#: common/models.py:736
+msgid "Default"
+msgstr ""
+
+#: common/templates/common/edit_setting.html:11
+msgid "Current value"
+msgstr ""
+
+#: common/views.py:25
+msgid "Change Setting"
+msgstr ""
+
+#: common/views.py:94
+msgid "Supplied value is not allowed"
+msgstr ""
+
+#: common/views.py:103
+msgid "Supplied value must be a boolean"
+msgstr ""
+
+#: company/forms.py:38 company/models.py:145
+#: company/templates/company/detail.html:42
+msgid "Currency"
+msgstr ""
+
+#: company/forms.py:39 company/models.py:147
+msgid "Default currency used for this company"
+msgstr ""
+
+#: company/forms.py:77 part/forms.py:46
+msgid "URL"
+msgstr ""
+
+#: company/forms.py:78 part/forms.py:47
+msgid "Image URL"
+msgstr ""
+
+#: company/forms.py:118
+msgid "Single Price"
+msgstr ""
+
+#: company/forms.py:120
+msgid "Single quantity price"
+msgstr ""
+
+#: company/forms.py:128 company/models.py:324
+msgid "Select manufacturer"
+msgstr ""
+
+#: company/forms.py:134 company/models.py:331
+msgid "Manufacturer Part Number"
+msgstr ""
+
+#: company/forms.py:136 company/models.py:330
+#: company/templates/company/manufacturer_part_base.html:89
+#: company/templates/company/manufacturer_part_detail.html:26
+#: company/templates/company/supplier_part_base.html:101
+#: company/templates/company/supplier_part_detail.html:35
+#: order/templates/order/purchase_order_detail.html:183 part/bom.py:171
+#: part/bom.py:242 templates/js/company.js:181 templates/js/company.js:307
+msgid "MPN"
+msgstr ""
+
+#: company/models.py:102
+msgid "Company description"
+msgstr ""
+
+#: company/models.py:103
+msgid "Description of the company"
+msgstr ""
+
+#: company/models.py:107 company/templates/company/company_base.html:70
+#: company/templates/company/detail.html:33 templates/js/company.js:60
+msgid "Website"
+msgstr ""
+
+#: company/models.py:107
+msgid "Company website URL"
+msgstr ""
+
+#: company/models.py:110 company/templates/company/company_base.html:77
+msgid "Address"
+msgstr ""
+
+#: company/models.py:111
+msgid "Company address"
+msgstr ""
+
+#: company/models.py:114
+msgid "Phone number"
+msgstr ""
+
+#: company/models.py:115
+msgid "Contact phone number"
+msgstr ""
+
+#: company/models.py:118 company/templates/company/company_base.html:91
+msgid "Email"
+msgstr ""
+
+#: company/models.py:118
+msgid "Contact email address"
+msgstr ""
+
+#: company/models.py:121 company/templates/company/company_base.html:98
+msgid "Contact"
+msgstr ""
+
+#: company/models.py:122
+msgid "Point of contact"
+msgstr ""
+
+#: company/models.py:124 company/models.py:336 company/models.py:488
+#: order/models.py:103 part/models.py:743
+#: report/templates/report/inventree_build_order_base.html:165
+#: stock/models.py:1560 templates/js/company.js:188 templates/js/company.js:318
+#: templates/js/part.js:431
+msgid "Link"
+msgstr ""
+
+#: company/models.py:124
+msgid "Link to external company information"
+msgstr ""
+
+#: company/models.py:132 part/models.py:753
+msgid "Image"
+msgstr ""
+
+#: company/models.py:137
+msgid "is customer"
+msgstr ""
+
+#: company/models.py:137
+msgid "Do you sell items to this company?"
+msgstr ""
+
+#: company/models.py:139
+msgid "is supplier"
+msgstr ""
+
+#: company/models.py:139
+msgid "Do you purchase items from this company?"
+msgstr ""
+
+#: company/models.py:141
+msgid "is manufacturer"
+msgstr ""
+
+#: company/models.py:141
+msgid "Does this company manufacture parts?"
+msgstr ""
+
+#: company/models.py:308 company/models.py:459 stock/models.py:373
+#: stock/templates/stock/item_base.html:224
+msgid "Base Part"
+msgstr ""
+
+#: company/models.py:312 company/models.py:463 order/views.py:1372
+msgid "Select part"
+msgstr ""
+
+#: company/models.py:323 company/templates/company/detail.html:57
+#: company/templates/company/manufacturer_part_base.html:85
+#: company/templates/company/manufacturer_part_detail.html:25
+#: company/templates/company/supplier_part_base.html:94
+#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
+#: part/bom.py:241 stock/templates/stock/item_base.html:341
+#: templates/js/company.js:44 templates/js/company.js:165
+#: templates/js/company.js:289
+msgid "Manufacturer"
+msgstr ""
+
+#: company/models.py:337
+msgid "URL for external manufacturer part link"
+msgstr ""
+
+#: company/models.py:343
+msgid "Manufacturer part description"
+msgstr ""
+
+#: company/models.py:469 company/templates/company/detail.html:62
+#: company/templates/company/supplier_part_base.html:84
+#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
+#: order/templates/order/order_base.html:92
+#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
+#: part/bom.py:286 stock/templates/stock/item_base.html:353
+#: templates/js/company.js:48 templates/js/company.js:263
+#: templates/js/order.js:170
+msgid "Supplier"
+msgstr ""
+
+#: company/models.py:470
+msgid "Select supplier"
+msgstr ""
+
+#: company/models.py:475 company/templates/company/supplier_part_base.html:88
+#: company/templates/company/supplier_part_detail.html:26
+#: order/templates/order/purchase_order_detail.html:174 part/bom.py:176
+#: part/bom.py:287
+msgid "SKU"
+msgstr ""
+
+#: company/models.py:476
+msgid "Supplier stock keeping unit"
+msgstr ""
+
+#: company/models.py:482
+#: company/templates/company/manufacturer_part_base.html:6
+#: company/templates/company/manufacturer_part_base.html:19
+#: stock/templates/stock/item_base.html:346
+msgid "Manufacturer Part"
+msgstr ""
+
+#: company/models.py:483
+msgid "Select manufacturer part"
+msgstr ""
+
+#: company/models.py:489
+msgid "URL for external supplier part link"
+msgstr ""
+
+#: company/models.py:495
+msgid "Supplier part description"
+msgstr ""
+
+#: company/models.py:500 company/templates/company/supplier_part_base.html:115
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2190
+#: report/templates/report/inventree_po_report.html:93
+#: report/templates/report/inventree_so_report.html:93
+msgid "Note"
+msgstr ""
+
+#: company/models.py:504
+msgid "base cost"
+msgstr ""
+
+#: company/models.py:504
+msgid "Minimum charge (e.g. stocking fee)"
+msgstr ""
+
+#: company/models.py:506 company/templates/company/supplier_part_base.html:108
+#: stock/models.py:397 stock/templates/stock/item_base.html:299
+#: templates/js/stock.js:667
+msgid "Packaging"
+msgstr ""
+
+#: company/models.py:506
+msgid "Part packaging"
+msgstr ""
+
+#: company/models.py:508
+msgid "multiple"
+msgstr ""
+
+#: company/models.py:508
+msgid "Order multiple"
+msgstr ""
+
+#: company/templates/company/assigned_stock.html:10
+#: company/templates/company/navbar.html:62
+#: company/templates/company/navbar.html:65 templates/js/build.js:467
+msgid "Assigned Stock"
+msgstr ""
+
+#: company/templates/company/company_base.html:9
+#: company/templates/company/company_base.html:35
+#: templates/InvenTree/search.html:304 templates/js/company.js:33
+msgid "Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:25
+#: part/templates/part/part_thumb.html:21
+msgid "Upload new image"
+msgstr ""
+
+#: company/templates/company/company_base.html:27
+#: part/templates/part/part_thumb.html:23
+msgid "Download image from URL"
+msgstr ""
+
+#: company/templates/company/company_base.html:46 order/views.py:306
+msgid "Create Purchase Order"
+msgstr ""
+
+#: company/templates/company/company_base.html:51
+msgid "Edit company information"
+msgstr ""
+
+#: company/templates/company/company_base.html:56 company/views.py:326
+msgid "Delete Company"
+msgstr ""
+
+#: company/templates/company/company_base.html:64
+#: company/templates/company/detail.html:10
+#: company/templates/company/navbar.html:12
+msgid "Company Details"
+msgstr ""
+
+#: company/templates/company/company_base.html:84
+msgid "Phone"
+msgstr ""
+
+#: company/templates/company/delete.html:7
+#, python-format
+msgid "Are you sure you want to delete company '%(name)s'?"
+msgstr ""
+
+#: company/templates/company/delete.html:12
+#, python-format
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
+"If this supplier is deleted, these supplier part entries will also be "
+"deleted."
+msgstr ""
+
+#: company/templates/company/detail.html:21
+msgid "Company Name"
+msgstr ""
+
+#: company/templates/company/detail.html:36
+msgid "No website specified"
+msgstr ""
+
+#: company/templates/company/detail.html:45
+msgid "Uses default currency"
+msgstr ""
+
+#: company/templates/company/detail.html:67 order/models.py:440
+#: order/templates/order/sales_order_base.html:92 stock/models.py:415
+#: stock/models.py:416 stock/templates/stock/item_base.html:251
+#: templates/js/company.js:40 templates/js/order.js:267
+msgid "Customer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:11
+#: templates/InvenTree/search.html:149
+msgid "Manufacturer Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:22
+msgid "Create new manufacturer part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:23
+#: part/templates/part/manufacturer.html:19
+msgid "New Manufacturer Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:28
+#: company/templates/company/detail_supplier_part.html:27
+#: company/templates/company/manufacturer_part_suppliers.html:20
+#: part/templates/part/category.html:122
+#: part/templates/part/manufacturer.html:22
+#: part/templates/part/supplier.html:20
+msgid "Options"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:33
+#: company/templates/company/detail_supplier_part.html:32
+#: part/templates/part/category.html:127
+msgid "Order parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:36
+#: company/templates/company/detail_supplier_part.html:35
+msgid "Delete Parts"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:66
+#: company/templates/company/detail_supplier_part.html:66
+#: part/templates/part/bom.html:159 part/templates/part/category.html:118
+#: templates/js/stock.js:1157
+msgid "New Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:67
+#: company/templates/company/detail_supplier_part.html:67
+msgid "Create new Part"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:72
+#: company/views.py:71 part/templates/part/manufacturer.html:52
+#: part/templates/part/supplier.html:56
+msgid "New Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_manufacturer_part.html:73
+#: company/views.py:284
+msgid "Create new Manufacturer"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:10
+msgid "Supplier Stock"
+msgstr ""
+
+#: company/templates/company/detail_stock.html:37
+#: company/templates/company/supplier_part_stock.html:34
+#: part/templates/part/category.html:114 part/templates/part/category.html:128
+#: part/templates/part/stock.html:54 stock/templates/stock/location.html:163
+msgid "Export"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:11
+#: company/templates/company/manufacturer_part_navbar.html:11
+#: company/templates/company/manufacturer_part_suppliers.html:10
+#: templates/InvenTree/search.html:164
+msgid "Supplier Parts"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:21
+#: order/templates/order/order_wizard/select_parts.html:42
+#: order/templates/order/purchase_order_detail.html:75
+msgid "Create new supplier part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:22
+#: company/templates/company/manufacturer_part_suppliers.html:17
+#: order/templates/order/purchase_order_detail.html:74
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1163
+msgid "New Supplier Part"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:72
+#: company/templates/company/manufacturer_part_suppliers.html:47
+#: company/views.py:64 order/templates/order/purchase_orders.html:183
+#: part/templates/part/supplier.html:50
+msgid "New Supplier"
+msgstr ""
+
+#: company/templates/company/detail_supplier_part.html:73 company/views.py:281
+#: order/templates/order/purchase_orders.html:184
+msgid "Create new Supplier"
+msgstr ""
+
+#: company/templates/company/index.html:8
+msgid "Supplier List"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:36
+#: company/templates/company/supplier_part_base.html:36
+#: company/templates/company/supplier_part_orders.html:17
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+msgid "Order part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:41
+msgid "Edit manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:45
+msgid "Delete manufacturer part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:57
+#: company/templates/company/manufacturer_part_detail.html:10
+msgid "Manufacturer Part Details"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_base.html:62
+#: company/templates/company/manufacturer_part_detail.html:18
+#: company/templates/company/supplier_part_base.html:61
+#: company/templates/company/supplier_part_detail.html:18
+msgid "Internal Part"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:6
+msgid "Are you sure you want to delete the following Manufacturer Parts?"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_delete.html:36
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this manufacturer part. If you "
+"delete it, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:14
+#: company/views.py:63 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: templates/navbar.html:35
+msgid "Suppliers"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:19
+msgid "Manufacturer Part Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:22
+#: company/templates/company/navbar.html:41
+#: company/templates/company/supplier_part_navbar.html:15
+#: part/templates/part/navbar.html:36 stock/api.py:51
+#: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36
+#: stock/templates/stock/stock_app_base.html:10
+#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
+#: templates/InvenTree/search.html:232
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
+msgid "Stock"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:26
+msgid "Manufacturer Part Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_navbar.html:29
+#: company/templates/company/supplier_part_navbar.html:22
+msgid "Orders"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/supplier.html:22
+msgid "Delete supplier parts"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:22
+#: part/templates/part/manufacturer.html:24 part/templates/part/params.html:44
+#: part/templates/part/related.html:44 part/templates/part/supplier.html:22
+#: stock/views.py:1002 users/models.py:184
+msgid "Delete"
+msgstr ""
+
+#: company/templates/company/manufacturer_part_suppliers.html:48
+#: part/templates/part/supplier.html:51
+msgid "Create new supplier"
+msgstr ""
+
+#: company/templates/company/navbar.html:20
+#: company/templates/company/navbar.html:23
+msgid "Manufactured Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:29
+#: company/templates/company/navbar.html:32
+msgid "Supplied Parts"
+msgstr ""
+
+#: company/templates/company/navbar.html:38 part/templates/part/navbar.html:33
+#: stock/templates/stock/location.html:107
+#: stock/templates/stock/location.html:122
+#: stock/templates/stock/location.html:136
+#: stock/templates/stock/location_navbar.html:22
+#: stock/templates/stock/location_navbar.html:29
+#: templates/InvenTree/search.html:198 templates/js/stock.js:968
+#: templates/stats.html:72 templates/stats.html:81 users/models.py:40
+msgid "Stock Items"
+msgstr ""
+
+#: company/templates/company/navbar.html:47
+#: company/templates/company/navbar.html:56
+#: company/templates/company/navbar.html:59
+#: company/templates/company/sales_orders.html:11
+#: order/templates/order/sales_orders.html:8
+#: order/templates/order/sales_orders.html:13
+#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
+#: templates/InvenTree/search.html:345
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: users/models.py:43
+msgid "Sales Orders"
+msgstr ""
+
+#: company/templates/company/navbar.html:50
+#: company/templates/company/purchase_orders.html:10
+#: order/templates/order/purchase_orders.html:8
+#: order/templates/order/purchase_orders.html:13
+#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
+#: templates/InvenTree/search.html:325
+#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: users/models.py:42
+msgid "Purchase Orders"
+msgstr ""
+
+#: company/templates/company/notes.html:11
+msgid "Company Notes"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:18
+#: order/templates/order/purchase_orders.html:20
+msgid "Create new purchase order"
+msgstr ""
+
+#: company/templates/company/purchase_orders.html:19
+#: order/templates/order/purchase_orders.html:21
+msgid "New Purchase Order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:19
+#: order/templates/order/sales_orders.html:20
+msgid "Create new sales order"
+msgstr ""
+
+#: company/templates/company/sales_orders.html:20
+#: order/templates/order/sales_orders.html:21
+msgid "New Sales Order"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:7
+#: company/templates/company/supplier_part_base.html:20 stock/models.py:382
+#: stock/templates/stock/item_base.html:358 templates/js/company.js:279
+msgid "Supplier Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:40
+msgid "Edit supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:44
+msgid "Delete supplier part"
+msgstr ""
+
+#: company/templates/company/supplier_part_base.html:56
+#: company/templates/company/supplier_part_detail.html:10
+msgid "Supplier Part Details"
+msgstr ""
+
+#: company/templates/company/supplier_part_delete.html:5
+msgid "Are you sure you want to delete the following Supplier Parts?"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:12
+#: company/templates/company/supplier_part_stock.html:10
+msgid "Supplier Part Stock"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:19
+#: company/templates/company/supplier_part_orders.html:10
+msgid "Supplier Part Orders"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:26
+msgid "Supplier Part Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_navbar.html:29
+msgid "Pricing"
+msgstr ""
+
+#: company/templates/company/supplier_part_orders.html:18
+#: part/templates/part/orders.html:18
+msgid "Order Part"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:11
+msgid "Pricing Information"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
+#: part/templates/part/sale_prices.html:17 part/views.py:2624
+msgid "Add Price Break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:38
+#: part/templates/part/sale_prices.html:46
+msgid "No price break information found"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:89
+#: part/templates/part/sale_prices.html:97
+msgid "Edit price break"
+msgstr ""
+
+#: company/templates/company/supplier_part_pricing.html:90
+#: part/templates/part/sale_prices.html:98
+msgid "Delete price break"
+msgstr ""
+
+#: company/views.py:70 part/templates/part/navbar.html:72
+#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: templates/navbar.html:36
+msgid "Manufacturers"
+msgstr ""
+
+#: company/views.py:77 templates/InvenTree/search.html:336
+#: templates/navbar.html:45
+msgid "Customers"
+msgstr ""
+
+#: company/views.py:78 order/templates/order/sales_orders.html:185
+msgid "New Customer"
+msgstr ""
+
+#: company/views.py:86
+msgid "Companies"
+msgstr ""
+
+#: company/views.py:87
+msgid "New Company"
+msgstr ""
+
+#: company/views.py:169 part/views.py:848
+msgid "Download Image"
+msgstr ""
+
+#: company/views.py:198 part/views.py:880
+msgid "Image size exceeds maximum allowable size for download"
+msgstr ""
+
+#: company/views.py:214 part/views.py:896
+msgid "Supplied URL is not a valid image file"
+msgstr ""
+
+#: company/views.py:243
+msgid "Update Company Image"
+msgstr ""
+
+#: company/views.py:249
+msgid "Updated company image"
+msgstr ""
+
+#: company/views.py:259
+msgid "Edit Company"
+msgstr ""
+
+#: company/views.py:264
+msgid "Edited company information"
+msgstr ""
+
+#: company/views.py:287 order/templates/order/sales_orders.html:186
+msgid "Create new Customer"
+msgstr ""
+
+#: company/views.py:289
+msgid "Create new Company"
+msgstr ""
+
+#: company/views.py:316
+msgid "Created new company"
+msgstr ""
+
+#: company/views.py:332
+msgid "Company was deleted"
+msgstr ""
+
+#: company/views.py:357
+msgid "Edit Manufacturer Part"
+msgstr ""
+
+#: company/views.py:366
+msgid "Create New Manufacturer Part"
+msgstr ""
+
+#: company/views.py:440
+msgid "Delete Manufacturer Part"
+msgstr ""
+
+#: company/views.py:528
+msgid "Edit Supplier Part"
+msgstr ""
+
+#: company/views.py:578 templates/js/stock.js:1164
+msgid "Create new Supplier Part"
+msgstr ""
+
+#: company/views.py:722
+msgid "Delete Supplier Part"
+msgstr ""
+
+#: company/views.py:799 part/views.py:2628
+msgid "Added new price break"
+msgstr ""
+
+#: company/views.py:855 part/views.py:2672
+msgid "Edit Price Break"
+msgstr ""
+
+#: company/views.py:870 part/views.py:2686
+msgid "Delete Price Break"
+msgstr ""
+
+#: label/api.py:56 report/api.py:201
+msgid "No valid objects provided to template"
+msgstr ""
+
+#: label/models.py:102
+msgid "Label name"
+msgstr ""
+
+#: label/models.py:109
+msgid "Label description"
+msgstr ""
+
+#: label/models.py:116 stock/forms.py:202
+msgid "Label"
+msgstr ""
+
+#: label/models.py:117
+msgid "Label template file"
+msgstr ""
+
+#: label/models.py:123 report/models.py:274
+msgid "Enabled"
+msgstr ""
+
+#: label/models.py:124
+msgid "Label template is enabled"
+msgstr ""
+
+#: label/models.py:129
+msgid "Width [mm]"
+msgstr ""
+
+#: label/models.py:130
+msgid "Label width, specified in mm"
+msgstr ""
+
+#: label/models.py:136
+msgid "Height [mm]"
+msgstr ""
+
+#: label/models.py:137
+msgid "Label height, specified in mm"
+msgstr ""
+
+#: label/models.py:222 label/models.py:275
+msgid "Query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: label/models.py:223 label/models.py:276 report/models.py:294
+#: report/models.py:415 report/models.py:449
+msgid "Filters"
+msgstr ""
+
+#: order/forms.py:27 order/templates/order/order_base.html:47
+msgid "Place order"
+msgstr ""
+
+#: order/forms.py:38 order/templates/order/order_base.html:54
+msgid "Mark order as complete"
+msgstr ""
+
+#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
+#: order/templates/order/sales_order_base.html:59
+msgid "Cancel order"
+msgstr ""
+
+#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+msgid "Ship order"
+msgstr ""
+
+#: order/forms.py:82
+msgid "Receive parts to this location"
+msgstr ""
+
+#: order/forms.py:103
+msgid "Purchase Order reference"
+msgstr ""
+
+#: order/forms.py:110
+msgid "Target date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:138
+msgid "Enter sales order number"
+msgstr ""
+
+#: order/forms.py:145 order/models.py:452
+msgid ""
+"Target date for order completion. Order will be overdue after this date."
+msgstr ""
+
+#: order/forms.py:235
+msgid "Enter stock item serial numbers"
+msgstr ""
+
+#: order/forms.py:241
+msgid "Enter quantity of stock items"
+msgstr ""
+
+#: order/models.py:99
+msgid "Order reference"
+msgstr ""
+
+#: order/models.py:101
+msgid "Order description"
+msgstr ""
+
+#: order/models.py:103
+msgid "Link to external page"
+msgstr ""
+
+#: order/models.py:111 part/templates/part/detail.html:132
+msgid "Created By"
+msgstr ""
+
+#: order/models.py:118
+msgid "User or group responsible for this order"
+msgstr ""
+
+#: order/models.py:123
+msgid "Order notes"
+msgstr ""
+
+#: order/models.py:182 order/models.py:445
+msgid "Purchase order status"
+msgstr ""
+
+#: order/models.py:191
+msgid "Company from which the items are being ordered"
+msgstr ""
+
+#: order/models.py:194 order/templates/order/order_base.html:98
+#: templates/js/order.js:179
+msgid "Supplier Reference"
+msgstr ""
+
+#: order/models.py:194
+msgid "Supplier order reference code"
+msgstr ""
+
+#: order/models.py:201
+msgid "received by"
+msgstr ""
+
+#: order/models.py:206
+msgid "Issue Date"
+msgstr ""
+
+#: order/models.py:207
+msgid "Date order was issued"
+msgstr ""
+
+#: order/models.py:212
+msgid "Target Delivery Date"
+msgstr ""
+
+#: order/models.py:213
+msgid ""
+"Expected date for order delivery. Order will be overdue after this date."
+msgstr ""
+
+#: order/models.py:219
+msgid "Date order was completed"
+msgstr ""
+
+#: order/models.py:243 order/models.py:342 part/views.py:1586
+#: stock/models.py:270 stock/models.py:953
+msgid "Quantity must be greater than zero"
+msgstr ""
+
+#: order/models.py:248
+msgid "Part supplier must match PO supplier"
+msgstr ""
+
+#: order/models.py:337
+msgid "Lines can only be received against an order marked as 'Placed'"
+msgstr ""
+
+#: order/models.py:359
+msgid "Received items"
+msgstr ""
+
+#: order/models.py:441
+msgid "Company to which the items are being sold"
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer Reference "
+msgstr ""
+
+#: order/models.py:447
+msgid "Customer order reference code"
+msgstr ""
+
+#: order/models.py:455 templates/js/order.js:303
+msgid "Shipment Date"
+msgstr ""
+
+#: order/models.py:462
+msgid "shipped by"
+msgstr ""
+
+#: order/models.py:506
+msgid "SalesOrder cannot be shipped as it is not currently pending"
+msgstr ""
+
+#: order/models.py:593
+msgid "Item quantity"
+msgstr ""
+
+#: order/models.py:595
+msgid "Line item reference"
+msgstr ""
+
+#: order/models.py:597
+msgid "Line item notes"
+msgstr ""
+
+#: order/models.py:623 order/models.py:667
+#: part/templates/part/allocation.html:17
+#: part/templates/part/allocation.html:45
+msgid "Order"
+msgstr ""
+
+#: order/models.py:624 order/templates/order/order_base.html:9
+#: order/templates/order/order_base.html:24
+#: report/templates/report/inventree_po_report.html:77
+#: stock/templates/stock/item_base.html:313 templates/js/order.js:148
+msgid "Purchase Order"
+msgstr ""
+
+#: order/models.py:638
+msgid "Supplier part"
+msgstr ""
+
+#: order/models.py:641 order/templates/order/order_base.html:131
+#: order/templates/order/purchase_order_detail.html:214
+#: order/templates/order/receive_parts.html:22
+#: order/templates/order/sales_order_base.html:131
+msgid "Received"
+msgstr ""
+
+#: order/models.py:641
+msgid "Number of items received"
+msgstr ""
+
+#: order/models.py:648 stock/models.py:508
+#: stock/templates/stock/item_base.html:320
+msgid "Purchase Price"
+msgstr ""
+
+#: order/models.py:649
+msgid "Unit purchase price"
+msgstr ""
+
+#: order/models.py:743 order/models.py:745
+msgid "Stock item has not been assigned"
+msgstr ""
+
+#: order/models.py:749
+msgid "Cannot allocate stock item to a line with a different part"
+msgstr ""
+
+#: order/models.py:751
+msgid "Cannot allocate stock to a line without a part"
+msgstr ""
+
+#: order/models.py:754
+msgid "Allocation quantity cannot exceed stock quantity"
+msgstr ""
+
+#: order/models.py:764
+msgid "Quantity must be 1 for serialized stock item"
+msgstr ""
+
+#: order/models.py:769
+msgid "Line"
+msgstr ""
+
+#: order/models.py:780
+msgid "Item"
+msgstr ""
+
+#: order/models.py:781
+msgid "Select stock item to allocate"
+msgstr ""
+
+#: order/models.py:784
+msgid "Enter stock allocation quantity"
+msgstr ""
+
+#: order/templates/order/delete_attachment.html:5
+#: stock/templates/stock/attachment_delete.html:5
+#: templates/attachment_delete.html:5
+msgid "Are you sure you want to delete this attachment?"
+msgstr ""
+
+#: order/templates/order/order_base.html:39
+#: order/templates/order/sales_order_base.html:48
+msgid "Print"
+msgstr ""
+
+#: order/templates/order/order_base.html:43
+#: order/templates/order/sales_order_base.html:52
+msgid "Edit order information"
+msgstr ""
+
+#: order/templates/order/order_base.html:51
+msgid "Receive items"
+msgstr ""
+
+#: order/templates/order/order_base.html:64
+msgid "Export order to file"
+msgstr ""
+
+#: order/templates/order/order_base.html:72
+#: order/templates/order/po_navbar.html:11
+msgid "Purchase Order Details"
+msgstr ""
+
+#: order/templates/order/order_base.html:77
+#: order/templates/order/sales_order_base.html:77
+msgid "Order Reference"
+msgstr ""
+
+#: order/templates/order/order_base.html:82
+#: order/templates/order/sales_order_base.html:82
+msgid "Order Status"
+msgstr ""
+
+#: order/templates/order/order_base.html:117
+#: report/templates/report/inventree_build_order_base.html:122
+msgid "Issued"
+msgstr ""
+
+#: order/templates/order/order_cancel.html:7
+#: order/templates/order/sales_order_cancel.html:9
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_complete.html:7
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: order/templates/order/order_complete.html:10
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: order/templates/order/order_complete.html:11
+msgid "Marking this order as complete will remove these line items."
+msgstr ""
+
+#: order/templates/order/order_issue.html:7
+msgid ""
+"After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: order/templates/order/order_notes.html:13
+msgid "Order Notes"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:9
+msgid "Step 1 of 2 - Select Part Suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:14
+msgid "Select suppliers"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:18
+msgid "No purchaseable parts selected"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:31
+msgid "Select Supplier"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:57
+#, python-format
+msgid "Select a supplier for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_parts.html:69
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:8
+msgid "Step 2 of 2 - Select Purchase Orders"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:12
+msgid "Select existing purchase orders, or create new orders."
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:31
+#: templates/js/order.js:205 templates/js/order.js:308
+msgid "Items"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:32
+msgid "Select Purchase Order"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:45
+#, python-format
+msgid "Create new purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/order_wizard/select_pos.html:68
+#, python-format
+msgid "Select a purchase order for %(name)s"
+msgstr ""
+
+#: order/templates/order/po_attachments.html:12
+#: order/templates/order/po_navbar.html:23
+msgid "Purchase Order Attachments"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:17
+msgid "Received Stock Items"
+msgstr ""
+
+#: order/templates/order/po_navbar.html:20
+#: order/templates/order/po_received_items.html:12
+msgid "Received Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:14
+msgid "Purchase Order Items"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:22 order/views.py:1108
+#: order/views.py:1191
+msgid "Add Line Item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:45
+#: order/templates/order/purchase_order_detail.html:125
+#: part/templates/part/category.html:185 part/templates/part/category.html:227
+#: stock/templates/stock/location.html:191 templates/js/stock.js:708
+#: templates/js/stock.js:1169
+msgid "New Location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:46
+#: order/templates/order/purchase_order_detail.html:126
+#: stock/templates/stock/location.html:42
+msgid "Create new stock location"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:139
+msgid "No line items found"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:205
+msgid "Unit Price"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:246
+#: order/templates/order/sales_order_detail.html:294
+msgid "Edit line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:247
+msgid "Delete line item"
+msgstr ""
+
+#: order/templates/order/purchase_order_detail.html:252
+msgid "Receive line item"
+msgstr ""
+
+#: order/templates/order/purchase_orders.html:24
+#: order/templates/order/sales_orders.html:24
+msgid "Print Order Reports"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:8
+#, python-format
+msgid "Receive outstanding parts for %(order)s - %(desc)s"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: part/models.py:322 part/templates/part/cat_link.html:7
+#: part/templates/part/category.html:99
+#: part/templates/part/category_navbar.html:22
+#: part/templates/part/category_navbar.html:29
+#: part/templates/part/category_partlist.html:10
+#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
+#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/navbar.html:23 templates/stats.html:59 templates/stats.html:68
+#: users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:15
+msgid "Select parts to receive against this order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:20
+msgid "Order Code"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:21
+#: part/templates/part/part_base.html:129 templates/js/part.js:414
+msgid "On Order"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:23
+msgid "Receive"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:36
+msgid "Error: Referenced part has been removed"
+msgstr ""
+
+#: order/templates/order/receive_parts.html:57
+msgid "Remove line"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:15
+msgid "This SalesOrder has not been fully allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:64
+msgid "Packing List"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/so_navbar.html:12
+msgid "Sales Order Details"
+msgstr ""
+
+#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+msgid "Customer Reference"
+msgstr ""
+
+#: order/templates/order/sales_order_cancel.html:8
+#: order/templates/order/sales_order_ship.html:9
+#: part/templates/part/bom_duplicate.html:12
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:13
+msgid "Sales Order Items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:92 templates/js/bom.js:342
+#: templates/js/build.js:627 templates/js/build.js:1044
+msgid "Actions"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:515
+#: templates/js/build.js:849
+msgid "Edit stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:517
+#: templates/js/build.js:850
+msgid "Delete stock allocation"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:170
+msgid "No matching line items"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:199
+msgid "ID"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:229 templates/js/build.js:579
+#: templates/js/build.js:845
+msgid "Allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:231
+msgid "Fulfilled"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:279
+msgid "Allocate serial numbers"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:282 templates/js/build.js:641
+msgid "Allocate stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:285
+msgid "Purchase stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:289 templates/js/build.js:634
+#: templates/js/build.js:1052
+msgid "Build stock"
+msgstr ""
+
+#: order/templates/order/sales_order_detail.html:295
+msgid "Delete line item "
+msgstr ""
+
+#: order/templates/order/sales_order_notes.html:14
+msgid "Sales Order Notes"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:10
+msgid ""
+"This order has not been fully allocated. If the order is marked as shipped, "
+"it can no longer be adjusted."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:12
+msgid "Ensure that the order allocation is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:18
+msgid "Some line items in this order have been over-allocated"
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:20
+msgid "Ensure that this is correct before shipping the order."
+msgstr ""
+
+#: order/templates/order/sales_order_ship.html:27
+msgid "Shipping this order means that the order will no longer be editable."
+msgstr ""
+
+#: order/templates/order/so_allocate_by_serial.html:9
+msgid "Allocate stock items by serial number"
+msgstr ""
+
+#: order/templates/order/so_allocation_delete.html:7
+msgid "This action will unallocate the following stock from the Sales Order"
+msgstr ""
+
+#: order/templates/order/so_attachments.html:12
+#: order/templates/order/so_navbar.html:26
+msgid "Sales Order Attachments"
+msgstr ""
+
+#: order/templates/order/so_lineitem_delete.html:5
+msgid "Are you sure you wish to delete this line item?"
+msgstr ""
+
+#: order/views.py:99
+msgid "Add Purchase Order Attachment"
+msgstr ""
+
+#: order/views.py:149
+msgid "Add Sales Order Attachment"
+msgstr ""
+
+#: order/views.py:341
+msgid "Create Sales Order"
+msgstr ""
+
+#: order/views.py:376
+msgid "Edit Purchase Order"
+msgstr ""
+
+#: order/views.py:396
+msgid "Edit Sales Order"
+msgstr ""
+
+#: order/views.py:412
+msgid "Cancel Order"
+msgstr ""
+
+#: order/views.py:421 order/views.py:447
+msgid "Confirm order cancellation"
+msgstr ""
+
+#: order/views.py:424 order/views.py:450
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/views.py:438
+msgid "Cancel sales order"
+msgstr ""
+
+#: order/views.py:464
+msgid "Issue Order"
+msgstr ""
+
+#: order/views.py:473
+msgid "Confirm order placement"
+msgstr ""
+
+#: order/views.py:483
+msgid "Purchase order issued"
+msgstr ""
+
+#: order/views.py:494
+msgid "Complete Order"
+msgstr ""
+
+#: order/views.py:510
+msgid "Confirm order completion"
+msgstr ""
+
+#: order/views.py:521
+msgid "Purchase order completed"
+msgstr ""
+
+#: order/views.py:531
+msgid "Ship Order"
+msgstr ""
+
+#: order/views.py:547
+msgid "Confirm order shipment"
+msgstr ""
+
+#: order/views.py:553
+msgid "Could not ship order"
+msgstr ""
+
+#: order/views.py:607
+msgid "Receive Parts"
+msgstr ""
+
+#: order/views.py:677
+msgid "Items received"
+msgstr ""
+
+#: order/views.py:691
+msgid "No destination set"
+msgstr ""
+
+#: order/views.py:736
+msgid "Error converting quantity to number"
+msgstr ""
+
+#: order/views.py:742
+msgid "Receive quantity less than zero"
+msgstr ""
+
+#: order/views.py:748
+msgid "No lines specified"
+msgstr ""
+
+#: order/views.py:1060
+#, python-brace-format
+msgid "Ordered {n} parts"
+msgstr ""
+
+#: order/views.py:1117
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/views.py:1123
+msgid "Supplier must match for Part and Order"
+msgstr ""
+
+#: order/views.py:1242 order/views.py:1260
+msgid "Edit Line Item"
+msgstr ""
+
+#: order/views.py:1276 order/views.py:1288
+msgid "Delete Line Item"
+msgstr ""
+
+#: order/views.py:1281 order/views.py:1293
+msgid "Deleted line item"
+msgstr ""
+
+#: order/views.py:1306
+msgid "Allocate Serial Numbers"
+msgstr ""
+
+#: order/views.py:1351
+#, python-brace-format
+msgid "Allocated {n} items"
+msgstr ""
+
+#: order/views.py:1367
+msgid "Select line item"
+msgstr ""
+
+#: order/views.py:1398
+msgid "No matching item for serial"
+msgstr ""
+
+#: order/views.py:1408
+msgid "is not in stock"
+msgstr ""
+
+#: order/views.py:1416
+msgid "already allocated to an order"
+msgstr ""
+
+#: order/views.py:1470
+msgid "Allocate Stock to Order"
+msgstr ""
+
+#: order/views.py:1544
+msgid "Edit Allocation Quantity"
+msgstr ""
+
+#: order/views.py:1559
+msgid "Remove allocation"
+msgstr ""
+
+#: part/bom.py:138 part/models.py:72 part/models.py:762
+#: part/templates/part/category.html:66 part/templates/part/detail.html:90
+msgid "Default Location"
+msgstr ""
+
+#: part/bom.py:139 part/templates/part/part_base.html:117
+msgid "Available Stock"
+msgstr ""
+
+#: part/bom.py:379
+#, python-brace-format
+msgid "Unsupported file format: {f}"
+msgstr ""
+
+#: part/bom.py:384
+msgid "Error reading BOM file (invalid data)"
+msgstr ""
+
+#: part/bom.py:386
+msgid "Error reading BOM file (incorrect row size)"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "File Format"
+msgstr ""
+
+#: part/forms.py:89 stock/forms.py:265
+msgid "Select output file format"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Cascading"
+msgstr ""
+
+#: part/forms.py:91
+msgid "Download cascading / multi-level BOM"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Levels"
+msgstr ""
+
+#: part/forms.py:93
+msgid "Select maximum number of BOM levels to export (0 = all levels)"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include Parameter Data"
+msgstr ""
+
+#: part/forms.py:95
+msgid "Include part parameters data in exported BOM"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include Stock Data"
+msgstr ""
+
+#: part/forms.py:97
+msgid "Include part stock data in exported BOM"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include Manufacturer Data"
+msgstr ""
+
+#: part/forms.py:99
+msgid "Include part manufacturer data in exported BOM"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include Supplier Data"
+msgstr ""
+
+#: part/forms.py:101
+msgid "Include part supplier data in exported BOM"
+msgstr ""
+
+#: part/forms.py:122 part/models.py:2077
+msgid "Parent Part"
+msgstr ""
+
+#: part/forms.py:123 part/templates/part/bom_duplicate.html:7
+msgid "Select parent part to copy BOM from"
+msgstr ""
+
+#: part/forms.py:129
+msgid "Clear existing BOM items"
+msgstr ""
+
+#: part/forms.py:135
+msgid "Confirm BOM duplication"
+msgstr ""
+
+#: part/forms.py:153
+msgid "validate"
+msgstr ""
+
+#: part/forms.py:153
+msgid "Confirm that the BOM is correct"
+msgstr ""
+
+#: part/forms.py:165
+msgid "BOM file"
+msgstr ""
+
+#: part/forms.py:165
+msgid "Select BOM file to upload"
+msgstr ""
+
+#: part/forms.py:184
+msgid "Related Part"
+msgstr ""
+
+#: part/forms.py:203
+msgid "Select part category"
+msgstr ""
+
+#: part/forms.py:220
+msgid "Duplicate all BOM data for this part"
+msgstr ""
+
+#: part/forms.py:221
+msgid "Copy BOM"
+msgstr ""
+
+#: part/forms.py:226
+msgid "Duplicate all parameter data for this part"
+msgstr ""
+
+#: part/forms.py:227
+msgid "Copy Parameters"
+msgstr ""
+
+#: part/forms.py:232
+msgid "Confirm part creation"
+msgstr ""
+
+#: part/forms.py:237
+msgid "Include category parameter templates"
+msgstr ""
+
+#: part/forms.py:242
+msgid "Include parent categories parameter templates"
+msgstr ""
+
+#: part/forms.py:322
+msgid "Add parameter template to same level categories"
+msgstr ""
+
+#: part/forms.py:326
+msgid "Add parameter template to all categories"
+msgstr ""
+
+#: part/forms.py:344 part/models.py:2171
+msgid "Sub part"
+msgstr ""
+
+#: part/forms.py:372
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:73
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:76
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:82 part/models.py:2123
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr ""
+
+#: part/models.py:83 part/templates/part/category.html:23
+#: part/templates/part/category.html:94 part/templates/part/category.html:141
+#: templates/InvenTree/search.html:127 templates/stats.html:63
+#: users/models.py:37
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:446 part/models.py:458
+#, python-brace-format
+msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
+msgstr ""
+
+#: part/models.py:555
+msgid "Next available serial numbers are"
+msgstr ""
+
+#: part/models.py:559
+msgid "Next available serial number is"
+msgstr ""
+
+#: part/models.py:564
+msgid "Most recent serial number is"
+msgstr ""
+
+#: part/models.py:643
+msgid "Duplicate IPN not allowed in part settings"
+msgstr ""
+
+#: part/models.py:654
+msgid "Part must be unique for name, IPN and revision"
+msgstr ""
+
+#: part/models.py:685 part/templates/part/detail.html:22
+msgid "Part name"
+msgstr ""
+
+#: part/models.py:692
+msgid "Is Template"
+msgstr ""
+
+#: part/models.py:693
+msgid "Is this part a template part?"
+msgstr ""
+
+#: part/models.py:704
+msgid "Is this part a variant of another part?"
+msgstr ""
+
+#: part/models.py:705 part/templates/part/detail.html:60
+msgid "Variant Of"
+msgstr ""
+
+#: part/models.py:711
+msgid "Part description"
+msgstr ""
+
+#: part/models.py:716 part/templates/part/category.html:73
+#: part/templates/part/detail.html:67
+msgid "Keywords"
+msgstr ""
+
+#: part/models.py:717
+msgid "Part keywords to improve visibility in search results"
+msgstr ""
+
+#: part/models.py:724 part/models.py:2122 part/templates/part/detail.html:73
+#: part/templates/part/set_category.html:15 templates/js/part.js:385
+msgid "Category"
+msgstr ""
+
+#: part/models.py:725
+msgid "Part category"
+msgstr ""
+
+#: part/models.py:730 part/templates/part/detail.html:28
+#: part/templates/part/part_base.html:94 templates/js/part.js:161
+msgid "IPN"
+msgstr ""
+
+#: part/models.py:731
+msgid "Internal Part Number"
+msgstr ""
+
+#: part/models.py:737
+msgid "Part revision or version number"
+msgstr ""
+
+#: part/models.py:738 part/templates/part/detail.html:35 report/models.py:198
+#: templates/js/part.js:165
+msgid "Revision"
+msgstr ""
+
+#: part/models.py:760
+msgid "Where is this item normally stored?"
+msgstr ""
+
+#: part/models.py:807 part/templates/part/detail.html:97
+msgid "Default Supplier"
+msgstr ""
+
+#: part/models.py:808
+msgid "Default supplier part"
+msgstr ""
+
+#: part/models.py:815
+msgid "Default Expiry"
+msgstr ""
+
+#: part/models.py:816
+msgid "Expiry time (in days) for stock items of this part"
+msgstr ""
+
+#: part/models.py:821 part/templates/part/detail.html:113
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/models.py:822
+msgid "Minimum allowed stock level"
+msgstr ""
+
+#: part/models.py:828 part/models.py:2051 part/templates/part/detail.html:106
+#: part/templates/part/params.html:29
+msgid "Units"
+msgstr ""
+
+#: part/models.py:829
+msgid "Stock keeping units for this part"
+msgstr ""
+
+#: part/models.py:835
+msgid "Can this part be built from other parts?"
+msgstr ""
+
+#: part/models.py:841
+msgid "Can this part be used to build other parts?"
+msgstr ""
+
+#: part/models.py:847
+msgid "Does this part have tracking for unique items?"
+msgstr ""
+
+#: part/models.py:852
+msgid "Can this part be purchased from external suppliers?"
+msgstr ""
+
+#: part/models.py:857
+msgid "Can this part be sold to customers?"
+msgstr ""
+
+#: part/models.py:861 part/templates/part/detail.html:227
+#: templates/js/table_filters.js:20 templates/js/table_filters.js:60
+#: templates/js/table_filters.js:236 templates/js/table_filters.js:305
+msgid "Active"
+msgstr ""
+
+#: part/models.py:862
+msgid "Is this part active?"
+msgstr ""
+
+#: part/models.py:867
+msgid "Is this a virtual part, such as a software product or license?"
+msgstr ""
+
+#: part/models.py:872
+msgid "Part notes - supports Markdown formatting"
+msgstr ""
+
+#: part/models.py:875
+msgid "BOM checksum"
+msgstr ""
+
+#: part/models.py:875
+msgid "Stored BOM checksum"
+msgstr ""
+
+#: part/models.py:878
+msgid "BOM checked by"
+msgstr ""
+
+#: part/models.py:880
+msgid "BOM checked date"
+msgstr ""
+
+#: part/models.py:884
+msgid "Creation User"
+msgstr ""
+
+#: part/models.py:1949
+msgid "Test templates can only be created for trackable parts"
+msgstr ""
+
+#: part/models.py:1966
+msgid "Test with this name already exists for this part"
+msgstr ""
+
+#: part/models.py:1986 templates/js/part.js:638 templates/js/stock.js:104
+msgid "Test Name"
+msgstr ""
+
+#: part/models.py:1987
+msgid "Enter a name for the test"
+msgstr ""
+
+#: part/models.py:1992
+msgid "Test Description"
+msgstr ""
+
+#: part/models.py:1993
+msgid "Enter description for this test"
+msgstr ""
+
+#: part/models.py:1998 templates/js/part.js:647
+#: templates/js/table_filters.js:222
+msgid "Required"
+msgstr ""
+
+#: part/models.py:1999
+msgid "Is this test required to pass?"
+msgstr ""
+
+#: part/models.py:2004 templates/js/part.js:655
+msgid "Requires Value"
+msgstr ""
+
+#: part/models.py:2005
+msgid "Does this test require a value when adding a test result?"
+msgstr ""
+
+#: part/models.py:2010 templates/js/part.js:662
+msgid "Requires Attachment"
+msgstr ""
+
+#: part/models.py:2011
+msgid "Does this test require a file attachment when adding a test result?"
+msgstr ""
+
+#: part/models.py:2044
+msgid "Parameter template name must be unique"
+msgstr ""
+
+#: part/models.py:2049
+msgid "Parameter Name"
+msgstr ""
+
+#: part/models.py:2051
+msgid "Parameter Units"
+msgstr ""
+
+#: part/models.py:2079 part/models.py:2128 part/models.py:2129
+#: templates/InvenTree/settings/category.html:62
+msgid "Parameter Template"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Data"
+msgstr ""
+
+#: part/models.py:2081
+msgid "Parameter Value"
+msgstr ""
+
+#: part/models.py:2133 templates/InvenTree/settings/category.html:67
+msgid "Default Value"
+msgstr ""
+
+#: part/models.py:2134
+msgid "Default Parameter Value"
+msgstr ""
+
+#: part/models.py:2163
+msgid "Select parent part"
+msgstr ""
+
+#: part/models.py:2172
+msgid "Select part to be used in BOM"
+msgstr ""
+
+#: part/models.py:2178
+msgid "BOM quantity for this BOM item"
+msgstr ""
+
+#: part/models.py:2180 templates/js/bom.js:216 templates/js/bom.js:269
+msgid "Optional"
+msgstr ""
+
+#: part/models.py:2180
+msgid "This BOM item is optional"
+msgstr ""
+
+#: part/models.py:2183
+msgid "Overage"
+msgstr ""
+
+#: part/models.py:2184
+msgid "Estimated build wastage quantity (absolute or percentage)"
+msgstr ""
+
+#: part/models.py:2187
+msgid "BOM item reference"
+msgstr ""
+
+#: part/models.py:2190
+msgid "BOM item notes"
+msgstr ""
+
+#: part/models.py:2192
+msgid "Checksum"
+msgstr ""
+
+#: part/models.py:2192
+msgid "BOM line checksum"
+msgstr ""
+
+#: part/models.py:2196 templates/js/bom.js:279 templates/js/bom.js:286
+#: templates/js/table_filters.js:50
+msgid "Inherited"
+msgstr ""
+
+#: part/models.py:2197
+msgid "This BOM item is inherited by BOMs for variant parts"
+msgstr ""
+
+#: part/models.py:2273 part/views.py:1592 part/views.py:1644
+#: stock/models.py:260
+msgid "Quantity must be integer value for trackable parts"
+msgstr ""
+
+#: part/models.py:2282 part/models.py:2284
+msgid "Sub part must be specified"
+msgstr ""
+
+#: part/models.py:2287
+msgid "BOM Item"
+msgstr ""
+
+#: part/models.py:2404
+msgid "Part 1"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Part 2"
+msgstr ""
+
+#: part/models.py:2408
+msgid "Select Related Part"
+msgstr ""
+
+#: part/models.py:2440
+msgid ""
+"Error creating relationship: check that the part is not related to itself "
+"and that the relationship is unique"
+msgstr ""
+
+#: part/templates/part/allocation.html:11
+msgid "Part Stock Allocations"
+msgstr ""
+
+#: part/templates/part/attachments.html:10
+msgid "Part Attachments"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:6
+msgid "Are you sure you want to delete this BOM item?"
+msgstr ""
+
+#: part/templates/part/bom-delete.html:8
+msgid "Deleting this entry will remove the BOM row from the following part"
+msgstr ""
+
+#: part/templates/part/bom.html:10 part/templates/part/navbar.html:48
+#: part/templates/part/navbar.html:51
+msgid "Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:19
+#, python-format
+msgid "The BOM for %(part)s has changed, and must be validated.
"
+msgstr ""
+
+#: part/templates/part/bom.html:21
+#, python-format
+msgid ""
+"The BOM for %(part)s was last checked by %(checker)s on %(check_date)s"
+msgstr ""
+
+#: part/templates/part/bom.html:25
+#, python-format
+msgid "The BOM for %(part)s has not been validated."
+msgstr ""
+
+#: part/templates/part/bom.html:32
+msgid "Remove selected BOM items"
+msgstr ""
+
+#: part/templates/part/bom.html:35
+msgid "Import BOM data"
+msgstr ""
+
+#: part/templates/part/bom.html:39
+msgid "Copy BOM from parent part"
+msgstr ""
+
+#: part/templates/part/bom.html:43
+msgid "New BOM Item"
+msgstr ""
+
+#: part/templates/part/bom.html:46
+msgid "Finish Editing"
+msgstr ""
+
+#: part/templates/part/bom.html:51
+msgid "Edit BOM"
+msgstr ""
+
+#: part/templates/part/bom.html:55
+msgid "Validate Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:61 part/views.py:1887
+msgid "Export Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom.html:64
+msgid "Print BOM Report"
+msgstr ""
+
+#: part/templates/part/bom.html:109
+msgid "Delete selected BOM items?"
+msgstr ""
+
+#: part/templates/part/bom.html:110
+msgid "All selected BOM items will be deleted"
+msgstr ""
+
+#: part/templates/part/bom.html:160 part/views.py:584
+#: templates/js/stock.js:1158
+msgid "Create New Part"
+msgstr ""
+
+#: part/templates/part/bom_duplicate.html:13
+msgid "This part already has a Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:11
+#: part/templates/part/bom_upload/select_parts.html:11
+#: part/templates/part/bom_upload/upload_file.html:11
+msgid "Upload Bill of Materials"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:16
+msgid "Step 2 - Select Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:21
+msgid "Missing selections for the following required columns"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:32
+msgid "Submit Selections"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:41
+msgid "File Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:47
+msgid "Remove column"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:58
+msgid "Match Fields"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:68
+msgid "Duplicate column selection"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_fields.html:76
+#: part/templates/part/bom_upload/select_parts.html:58
+msgid "Remove row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:16
+msgid "Step 3 - Select Parts"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:21
+msgid "Errors exist in the submitted data"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:27
+msgid "Submit BOM"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:39
+msgid "Row"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:40
+#: part/templates/part/bom_upload/select_parts.html:69
+msgid "Select Part"
+msgstr ""
+
+#: part/templates/part/bom_upload/select_parts.html:65
+#: part/templates/part/category.html:117
+msgid "Create new part"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:16
+msgid "Step 1 - Select BOM File"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:19
+msgid "Requirements for BOM upload"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid ""
+"The BOM file must contain the required named columns as provided in the "
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:21
+msgid "BOM Upload Template"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:22
+msgid "Each part must already exist in the database"
+msgstr ""
+
+#: part/templates/part/bom_upload/upload_file.html:27
+msgid "Upload File"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:6
+#, python-format
+msgid ""
+"Confirm that the Bill of Materials (BOM) is valid for:
%(part)s"
+msgstr ""
+
+#: part/templates/part/bom_validate.html:9
+msgid "This will validate each line in the BOM."
+msgstr ""
+
+#: part/templates/part/build.html:10
+msgid "Part Builds"
+msgstr ""
+
+#: part/templates/part/build.html:18
+msgid "Start New Build"
+msgstr ""
+
+#: part/templates/part/category.html:24
+msgid "All parts"
+msgstr ""
+
+#: part/templates/part/category.html:29 part/views.py:2270
+msgid "Create new part category"
+msgstr ""
+
+#: part/templates/part/category.html:35
+msgid "Edit part category"
+msgstr ""
+
+#: part/templates/part/category.html:40
+msgid "Delete part category"
+msgstr ""
+
+#: part/templates/part/category.html:50 part/templates/part/category.html:89
+msgid "Category Details"
+msgstr ""
+
+#: part/templates/part/category.html:55
+msgid "Category Path"
+msgstr ""
+
+#: part/templates/part/category.html:60
+msgid "Category Description"
+msgstr ""
+
+#: part/templates/part/category.html:79
+#: part/templates/part/category_navbar.html:11
+#: part/templates/part/category_navbar.html:18
+#: part/templates/part/subcategory.html:16
+msgid "Subcategories"
+msgstr ""
+
+#: part/templates/part/category.html:84
+msgid "Parts (Including subcategories)"
+msgstr ""
+
+#: part/templates/part/category.html:113
+msgid "Export Part Data"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set category"
+msgstr ""
+
+#: part/templates/part/category.html:125
+msgid "Set Category"
+msgstr ""
+
+#: part/templates/part/category.html:128
+msgid "Export Data"
+msgstr ""
+
+#: part/templates/part/category.html:186
+#: stock/templates/stock/location.html:192 templates/js/stock.js:709
+msgid "Create new location"
+msgstr ""
+
+#: part/templates/part/category.html:191 part/templates/part/category.html:221
+msgid "New Category"
+msgstr ""
+
+#: part/templates/part/category.html:192
+msgid "Create new category"
+msgstr ""
+
+#: part/templates/part/category.html:222
+msgid "Create new Part Category"
+msgstr ""
+
+#: part/templates/part/category.html:228 stock/views.py:1359
+msgid "Create new Stock Location"
+msgstr ""
+
+#: part/templates/part/category_delete.html:5
+msgid "Are you sure you want to delete category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:8
+#, python-format
+msgid "This category contains %(count)s child categories"
+msgstr ""
+
+#: part/templates/part/category_delete.html:9
+msgid ""
+"If this category is deleted, these child categories will be moved to the"
+msgstr ""
+
+#: part/templates/part/category_delete.html:11
+msgid "category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:13
+msgid "top level Parts category"
+msgstr ""
+
+#: part/templates/part/category_delete.html:25
+#, python-format
+msgid "This category contains %(count)s parts"
+msgstr ""
+
+#: part/templates/part/category_delete.html:27
+#, python-format
+msgid ""
+"If this category is deleted, these parts will be moved to the parent "
+"category %(path)s"
+msgstr ""
+
+#: part/templates/part/category_delete.html:29
+msgid ""
+"If this category is deleted, these parts will be moved to the top-level "
+"category Teile"
+msgstr ""
+
+#: part/templates/part/category_navbar.html:34
+#: part/templates/part/category_navbar.html:37
+#: part/templates/part/navbar.html:22
+msgid "Parameters"
+msgstr ""
+
+#: part/templates/part/category_parametric.html:10
+#: part/templates/part/navbar.html:19 part/templates/part/params.html:10
+msgid "Part Parameters"
+msgstr ""
+
+#: part/templates/part/copy_part.html:9 part/views.py:460
+msgid "Duplicate Part"
+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 - %(desc)s (%(match_per)s%% match)"
+msgstr ""
+
+#: part/templates/part/detail.html:11 part/templates/part/navbar.html:11
+msgid "Part Details"
+msgstr ""
+
+#: part/templates/part/detail.html:42
+msgid "Latest Serial Number"
+msgstr ""
+
+#: part/templates/part/detail.html:47
+msgid "No serial numbers recorded"
+msgstr ""
+
+#: part/templates/part/detail.html:120
+msgid "Stock Expiry Time"
+msgstr ""
+
+#: part/templates/part/detail.html:139
+msgid "Responsible User"
+msgstr ""
+
+#: part/templates/part/detail.html:153
+msgid "Part is virtual (not a physical part)"
+msgstr ""
+
+#: part/templates/part/detail.html:155
+msgid "Part is not a virtual part"
+msgstr ""
+
+#: part/templates/part/detail.html:163
+msgid "Part is a template part (variants can be made from this part)"
+msgstr ""
+
+#: part/templates/part/detail.html:165
+msgid "Part is not a template part"
+msgstr ""
+
+#: part/templates/part/detail.html:173
+msgid "Part can be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:175
+msgid "Part cannot be assembled from other parts"
+msgstr ""
+
+#: part/templates/part/detail.html:183
+msgid "Part can be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:185
+msgid "Part cannot be used in assemblies"
+msgstr ""
+
+#: part/templates/part/detail.html:193
+msgid "Part stock is tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:195
+msgid "Part stock is not tracked by serial number"
+msgstr ""
+
+#: part/templates/part/detail.html:203 part/templates/part/detail.html:205
+msgid "Part can be purchased from external suppliers"
+msgstr ""
+
+#: part/templates/part/detail.html:213
+msgid "Part can be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:215
+msgid "Part cannot be sold to customers"
+msgstr ""
+
+#: part/templates/part/detail.html:230
+msgid "Part is active"
+msgstr ""
+
+#: part/templates/part/detail.html:232
+msgid "Part is not active"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:11
+msgid "Part Manufacturers"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:24
+msgid "Delete manufacturer parts"
+msgstr ""
+
+#: part/templates/part/manufacturer.html:53
+#: part/templates/part/supplier.html:57
+msgid "Create new manufacturer"
+msgstr ""
+
+#: part/templates/part/navbar.html:26 part/templates/part/variants.html:11
+msgid "Part Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:29
+msgid "Variants"
+msgstr ""
+
+#: part/templates/part/navbar.html:40
+msgid "Allocated Stock"
+msgstr ""
+
+#: part/templates/part/navbar.html:43
+msgid "Allocations"
+msgstr ""
+
+#: part/templates/part/navbar.html:64 part/templates/part/navbar.html:67
+msgid "Used In"
+msgstr ""
+
+#: part/templates/part/navbar.html:92
+msgid "Sales Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:95
+msgid "Sale Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+msgid "Part Test Templates"
+msgstr ""
+
+#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:398
+msgid "Tests"
+msgstr ""
+
+#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/related.html:10
+msgid "Related Parts"
+msgstr ""
+
+#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+msgid "Part Notes"
+msgstr ""
+
+#: part/templates/part/params.html:17
+msgid "Add new parameter"
+msgstr ""
+
+#: part/templates/part/params.html:18
+#: templates/InvenTree/settings/category.html:29
+#: templates/InvenTree/settings/part.html:44
+msgid "New Parameter"
+msgstr ""
+
+#: part/templates/part/params.html:28
+#: report/templates/report/inventree_test_report_base.html:90
+#: stock/models.py:1655 templates/InvenTree/settings/header.html:8
+#: templates/js/stock.js:124
+msgid "Value"
+msgstr ""
+
+#: part/templates/part/params.html:41 templates/InvenTree/settings/user.html:19
+msgid "Edit"
+msgstr ""
+
+#: part/templates/part/params.html:68
+msgid "New Template"
+msgstr ""
+
+#: part/templates/part/params.html:69
+msgid "Create New Parameter Template"
+msgstr ""
+
+#: part/templates/part/part_app_base.html:12
+msgid "Part List"
+msgstr ""
+
+#: part/templates/part/part_base.html:18
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
+msgid "Inactive"
+msgstr ""
+
+#: part/templates/part/part_base.html:40
+msgid "Star this part"
+msgstr ""
+
+#: part/templates/part/part_base.html:47
+#: stock/templates/stock/item_base.html:131
+#: stock/templates/stock/location.html:51
+msgid "Barcode actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:49
+#: stock/templates/stock/item_base.html:133
+#: stock/templates/stock/location.html:53 templates/qr_button.html:1
+msgid "Show QR Code"
+msgstr ""
+
+#: part/templates/part/part_base.html:50
+#: stock/templates/stock/item_base.html:149
+#: stock/templates/stock/location.html:54
+msgid "Print Label"
+msgstr ""
+
+#: part/templates/part/part_base.html:55
+msgid "Show pricing information"
+msgstr ""
+
+#: part/templates/part/part_base.html:59
+msgid "Count part stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:74
+msgid "Part actions"
+msgstr ""
+
+#: part/templates/part/part_base.html:77
+msgid "Duplicate part"
+msgstr ""
+
+#: part/templates/part/part_base.html:80
+msgid "Edit part"
+msgstr ""
+
+#: part/templates/part/part_base.html:83
+msgid "Delete part"
+msgstr ""
+
+#: part/templates/part/part_base.html:123 templates/js/table_filters.js:156
+msgid "In Stock"
+msgstr ""
+
+#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+msgid "Required for Build Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:143
+msgid "Required for Sales Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:150
+msgid "Allocated to Orders"
+msgstr ""
+
+#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+msgid "Can Build"
+msgstr ""
+
+#: part/templates/part/part_base.html:171 templates/js/part.js:418
+msgid "Building"
+msgstr ""
+
+#: part/templates/part/part_base.html:250
+msgid "Calculate"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:8
+#, python-format
+msgid "Pricing information for:
%(part)s."
+msgstr ""
+
+#: part/templates/part/part_pricing.html:23
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:27
+#: part/templates/part/part_pricing.html:53
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:33
+#: part/templates/part/part_pricing.html:59
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:41
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:49
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:67
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:74
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/part_pricing.html:84
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/part_tests.html:17
+msgid "Add Test Template"
+msgstr ""
+
+#: part/templates/part/part_thumb.html:20
+msgid "Select from existing images"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:7
+#, python-format
+msgid "Are you sure you want to delete part '%(full_name)s'?"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:12
+#, python-format
+msgid ""
+"This part is used in BOMs for %(count)s other parts. If you delete this "
+"part, the BOMs for the following parts will be updated"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:22
+#, python-format
+msgid ""
+"There are %(count)s stock entries defined for this part. If you delete this "
+"part, the following stock entries will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:33
+#, python-format
+msgid ""
+"There are %(count)s manufacturers defined for this part. If you delete this "
+"part, the following manufacturer parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:44
+#, python-format
+msgid ""
+"There are %(count)s suppliers defined for this part. If you delete this "
+"part, the following supplier parts will also be deleted:"
+msgstr ""
+
+#: part/templates/part/partial_delete.html:55
+#, python-format
+msgid ""
+"There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this "
+"part will permanently remove this tracking information."
+msgstr ""
+
+#: part/templates/part/related.html:18
+msgid "Add Related"
+msgstr ""
+
+#: part/templates/part/sale_prices.html:10
+msgid "Sell Price Information"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New sales order"
+msgstr ""
+
+#: part/templates/part/sales_orders.html:18
+msgid "New Order"
+msgstr ""
+
+#: part/templates/part/set_category.html:9
+msgid "Set category for the following parts"
+msgstr ""
+
+#: part/templates/part/stock.html:10
+msgid "Part Stock"
+msgstr ""
+
+#: part/templates/part/stock.html:16
+#, python-format
+msgid "Showing stock for all variants of %(full_name)s"
+msgstr ""
+
+#: part/templates/part/stock_count.html:7 templates/js/bom.js:239
+#: templates/js/part.js:422
+msgid "No Stock"
+msgstr ""
+
+#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:130
+msgid "Low Stock"
+msgstr ""
+
+#: part/templates/part/supplier.html:10
+msgid "Part Suppliers"
+msgstr ""
+
+#: part/templates/part/track.html:10
+msgid "Part Tracking"
+msgstr ""
+
+#: part/templates/part/used_in.html:9
+msgid "Assemblies"
+msgstr ""
+
+#: part/templates/part/variant_part.html:9
+msgid "Create new part variant"
+msgstr ""
+
+#: part/templates/part/variant_part.html:10
+#, python-format
+msgid "Create a new variant of template '%(full_name)s'."
+msgstr ""
+
+#: part/templates/part/variants.html:19
+msgid "Create new variant"
+msgstr ""
+
+#: part/templates/part/variants.html:20
+msgid "New Variant"
+msgstr ""
+
+#: part/views.py:89
+msgid "Add Related Part"
+msgstr ""
+
+#: part/views.py:144
+msgid "Delete Related Part"
+msgstr ""
+
+#: part/views.py:158
+msgid "Add part attachment"
+msgstr ""
+
+#: part/views.py:211 templates/attachment_table.html:32
+msgid "Edit attachment"
+msgstr ""
+
+#: part/views.py:215
+msgid "Part attachment updated"
+msgstr ""
+
+#: part/views.py:230
+msgid "Delete Part Attachment"
+msgstr ""
+
+#: part/views.py:238
+msgid "Deleted part attachment"
+msgstr ""
+
+#: part/views.py:247
+msgid "Create Test Template"
+msgstr ""
+
+#: part/views.py:274
+msgid "Edit Test Template"
+msgstr ""
+
+#: part/views.py:288
+msgid "Delete Test Template"
+msgstr ""
+
+#: part/views.py:295
+msgid "Set Part Category"
+msgstr ""
+
+#: part/views.py:345
+#, python-brace-format
+msgid "Set category for {n} parts"
+msgstr ""
+
+#: part/views.py:380
+msgid "Create Variant"
+msgstr ""
+
+#: part/views.py:465
+msgid "Copied part"
+msgstr ""
+
+#: part/views.py:519 part/views.py:657
+msgid "Possible matches exist - confirm creation of new part"
+msgstr ""
+
+#: part/views.py:589
+msgid "Created new part"
+msgstr ""
+
+#: part/views.py:825
+msgid "Part QR Code"
+msgstr ""
+
+#: part/views.py:927
+msgid "Upload Part Image"
+msgstr ""
+
+#: part/views.py:933 part/views.py:968
+msgid "Updated part image"
+msgstr ""
+
+#: part/views.py:942
+msgid "Select Part Image"
+msgstr ""
+
+#: part/views.py:971
+msgid "Part image not found"
+msgstr ""
+
+#: part/views.py:982
+msgid "Edit Part Properties"
+msgstr ""
+
+#: part/views.py:1017
+msgid "Duplicate BOM"
+msgstr ""
+
+#: part/views.py:1047
+msgid "Confirm duplication of BOM from parent"
+msgstr ""
+
+#: part/views.py:1068
+msgid "Validate BOM"
+msgstr ""
+
+#: part/views.py:1089
+msgid "Confirm that the BOM is valid"
+msgstr ""
+
+#: part/views.py:1100
+msgid "Validated Bill of Materials"
+msgstr ""
+
+#: part/views.py:1234
+msgid "No BOM file provided"
+msgstr ""
+
+#: part/views.py:1595
+msgid "Enter a valid quantity"
+msgstr ""
+
+#: part/views.py:1620 part/views.py:1623
+msgid "Select valid part"
+msgstr ""
+
+#: part/views.py:1629
+msgid "Duplicate part selected"
+msgstr ""
+
+#: part/views.py:1667
+msgid "Select a part"
+msgstr ""
+
+#: part/views.py:1673
+msgid "Selected part creates a circular BOM"
+msgstr ""
+
+#: part/views.py:1677
+msgid "Specify quantity"
+msgstr ""
+
+#: part/views.py:1939
+msgid "Confirm Part Deletion"
+msgstr ""
+
+#: part/views.py:1946
+msgid "Part was deleted"
+msgstr ""
+
+#: part/views.py:1955
+msgid "Part Pricing"
+msgstr ""
+
+#: part/views.py:2069
+msgid "Create Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2079
+msgid "Edit Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2086
+msgid "Delete Part Parameter Template"
+msgstr ""
+
+#: part/views.py:2094
+msgid "Create Part Parameter"
+msgstr ""
+
+#: part/views.py:2144
+msgid "Edit Part Parameter"
+msgstr ""
+
+#: part/views.py:2158
+msgid "Delete Part Parameter"
+msgstr ""
+
+#: part/views.py:2218
+msgid "Edit Part Category"
+msgstr ""
+
+#: part/views.py:2256
+msgid "Delete Part Category"
+msgstr ""
+
+#: part/views.py:2262
+msgid "Part category was deleted"
+msgstr ""
+
+#: part/views.py:2314
+msgid "Create Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2415
+msgid "Edit Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2471
+msgid "Delete Category Parameter Template"
+msgstr ""
+
+#: part/views.py:2490
+msgid "Create BOM Item"
+msgstr ""
+
+#: part/views.py:2560
+msgid "Edit BOM item"
+msgstr ""
+
+#: part/views.py:2616
+msgid "Confim BOM item deletion"
+msgstr ""
+
+#: report/models.py:180
+msgid "Template name"
+msgstr ""
+
+#: report/models.py:186
+msgid "Report template file"
+msgstr ""
+
+#: report/models.py:193
+msgid "Report template description"
+msgstr ""
+
+#: report/models.py:199
+msgid "Report revision number (auto-increments)"
+msgstr ""
+
+#: report/models.py:275
+msgid "Report template is enabled"
+msgstr ""
+
+#: report/models.py:295
+msgid "StockItem query filters (comma-separated list of key=value pairs)"
+msgstr ""
+
+#: report/models.py:303
+msgid "Include Installed Tests"
+msgstr ""
+
+#: report/models.py:304
+msgid "Include test results for stock items installed inside assembled item"
+msgstr ""
+
+#: report/models.py:347
+msgid "Build Filters"
+msgstr ""
+
+#: report/models.py:348
+msgid "Build query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:385
+msgid "Part Filters"
+msgstr ""
+
+#: report/models.py:386
+msgid "Part query filters (comma-separated list of key=value pairs"
+msgstr ""
+
+#: report/models.py:416
+msgid "Purchase order query filters"
+msgstr ""
+
+#: report/models.py:450
+msgid "Sales order query filters"
+msgstr ""
+
+#: report/models.py:500
+msgid "Snippet"
+msgstr ""
+
+#: report/models.py:501
+msgid "Report snippet file"
+msgstr ""
+
+#: report/models.py:505
+msgid "Snippet file description"
+msgstr ""
+
+#: report/models.py:540
+msgid "Asset"
+msgstr ""
+
+#: report/models.py:541
+msgid "Report asset file"
+msgstr ""
+
+#: report/models.py:544
+msgid "Asset file description"
+msgstr ""
+
+#: report/templates/report/inventree_build_order_base.html:147
+msgid "Required For"
+msgstr ""
+
+#: report/templates/report/inventree_po_report.html:85
+#: report/templates/report/inventree_so_report.html:85
+msgid "Line 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:83
+msgid "Test Results"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:88
+#: stock/models.py:1643
+msgid "Test"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:89
+#: stock/models.py:1649
+msgid "Result"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:92
+#: templates/js/order.js:195 templates/js/stock.js:986
+msgid "Date"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:103
+msgid "Pass"
+msgstr ""
+
+#: report/templates/report/inventree_test_report_base.html:105
+msgid "Fail"
+msgstr ""
+
+#: stock/api.py:199
+#, python-brace-format
+msgid "Updated stock for {n} items"
+msgstr ""
+
+#: stock/api.py:268
+#, python-brace-format
+msgid "Moved {n} parts to {loc}"
+msgstr ""
+
+#: stock/forms.py:114 stock/forms.py:406 stock/models.py:475
+#: stock/templates/stock/item_base.html:365 templates/js/stock.js:656
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/forms.py:115 stock/forms.py:407
+msgid "Expiration date for this stock item"
+msgstr ""
+
+#: stock/forms.py:118
+msgid "Enter unique serial numbers (or leave blank)"
+msgstr ""
+
+#: stock/forms.py:169
+msgid ""
+"Destination for serialized stock (by default, will remain in current "
+"location)"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Serial numbers"
+msgstr ""
+
+#: stock/forms.py:171
+msgid "Unique serial numbers (must match quantity)"
+msgstr ""
+
+#: stock/forms.py:173 stock/forms.py:349
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/forms.py:203 stock/forms.py:259
+msgid "Select test report template"
+msgstr ""
+
+#: stock/forms.py:267 templates/js/table_filters.js:70
+#: templates/js/table_filters.js:133
+msgid "Include sublocations"
+msgstr ""
+
+#: stock/forms.py:267
+msgid "Include stock items in sub locations"
+msgstr ""
+
+#: stock/forms.py:302
+msgid "Stock item to install"
+msgstr ""
+
+#: stock/forms.py:309
+msgid "Stock quantity to assign"
+msgstr ""
+
+#: stock/forms.py:337
+msgid "Must not exceed available quantity"
+msgstr ""
+
+#: stock/forms.py:347
+msgid "Destination location for uninstalled items"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm uninstall"
+msgstr ""
+
+#: stock/forms.py:351
+msgid "Confirm removal of installed stock items"
+msgstr ""
+
+#: stock/forms.py:375
+msgid "Destination stock location"
+msgstr ""
+
+#: stock/forms.py:377
+msgid "Add note (required)"
+msgstr ""
+
+#: stock/forms.py:381 stock/views.py:852 stock/views.py:1051
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: stock/forms.py:381
+msgid "Confirm movement of stock items"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set Default Location"
+msgstr ""
+
+#: stock/forms.py:383
+msgid "Set the destination as the default location for selected parts"
+msgstr ""
+
+#: stock/models.py:54 stock/models.py:513
+msgid "Owner"
+msgstr ""
+
+#: stock/models.py:55 stock/models.py:514
+msgid "Select Owner"
+msgstr ""
+
+#: stock/models.py:205
+msgid "Created stock item"
+msgstr ""
+
+#: stock/models.py:241
+msgid "StockItem with this serial number already exists"
+msgstr ""
+
+#: stock/models.py:277
+#, python-brace-format
+msgid "Part type ('{pf}') must be {pe}"
+msgstr ""
+
+#: stock/models.py:287 stock/models.py:296
+msgid "Quantity must be 1 for item with a serial number"
+msgstr ""
+
+#: stock/models.py:288
+msgid "Serial number cannot be set if quantity greater than 1"
+msgstr ""
+
+#: stock/models.py:310
+msgid "Item cannot belong to itself"
+msgstr ""
+
+#: stock/models.py:316
+msgid "Item must have a build reference if is_building=True"
+msgstr ""
+
+#: stock/models.py:323
+msgid "Build reference does not point to the same part object"
+msgstr ""
+
+#: stock/models.py:365
+msgid "Parent Stock Item"
+msgstr ""
+
+#: stock/models.py:374
+msgid "Base part"
+msgstr ""
+
+#: stock/models.py:383
+msgid "Select a matching supplier part for this stock item"
+msgstr ""
+
+#: stock/models.py:388 stock/templates/stock/stock_app_base.html:8
+msgid "Stock Location"
+msgstr ""
+
+#: stock/models.py:391
+msgid "Where is this stock item located?"
+msgstr ""
+
+#: stock/models.py:398
+msgid "Packaging this stock item is stored in"
+msgstr ""
+
+#: stock/models.py:403 stock/templates/stock/item_base.html:259
+msgid "Installed In"
+msgstr ""
+
+#: stock/models.py:406
+msgid "Is this item installed in another item?"
+msgstr ""
+
+#: stock/models.py:422
+msgid "Serial number for this item"
+msgstr ""
+
+#: stock/models.py:434
+msgid "Batch code for this stock item"
+msgstr ""
+
+#: stock/models.py:438
+msgid "Stock Quantity"
+msgstr ""
+
+#: stock/models.py:447
+msgid "Source Build"
+msgstr ""
+
+#: stock/models.py:449
+msgid "Build for this stock item"
+msgstr ""
+
+#: stock/models.py:460
+msgid "Source Purchase Order"
+msgstr ""
+
+#: stock/models.py:463
+msgid "Purchase order for this stock item"
+msgstr ""
+
+#: stock/models.py:469
+msgid "Destination Sales Order"
+msgstr ""
+
+#: stock/models.py:476
+msgid ""
+"Expiry date for stock item. Stock will be considered expired after this date"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete on deplete"
+msgstr ""
+
+#: stock/models.py:489
+msgid "Delete this Stock Item when stock is depleted"
+msgstr ""
+
+#: stock/models.py:499 stock/templates/stock/item_notes.html:13
+#: stock/templates/stock/navbar.html:54
+msgid "Stock Item Notes"
+msgstr ""
+
+#: stock/models.py:509
+msgid "Single unit purchase price at time of purchase"
+msgstr ""
+
+#: stock/models.py:614
+msgid "Assigned to Customer"
+msgstr ""
+
+#: stock/models.py:616
+msgid "Manually assigned to customer"
+msgstr ""
+
+#: stock/models.py:629
+msgid "Returned from customer"
+msgstr ""
+
+#: stock/models.py:631
+msgid "Returned to location"
+msgstr ""
+
+#: stock/models.py:792
+msgid "Installed into stock item"
+msgstr ""
+
+#: stock/models.py:800
+msgid "Installed stock item"
+msgstr ""
+
+#: stock/models.py:824
+msgid "Uninstalled stock item"
+msgstr ""
+
+#: stock/models.py:843
+msgid "Uninstalled into location"
+msgstr ""
+
+#: stock/models.py:944
+msgid "Part is not set as trackable"
+msgstr ""
+
+#: stock/models.py:950
+msgid "Quantity must be integer"
+msgstr ""
+
+#: stock/models.py:956
+#, python-brace-format
+msgid "Quantity must not exceed available stock quantity ({n})"
+msgstr ""
+
+#: stock/models.py:959
+msgid "Serial numbers must be a list of integers"
+msgstr ""
+
+#: stock/models.py:962
+msgid "Quantity does not match serial numbers"
+msgstr ""
+
+#: stock/models.py:994
+msgid "Add serial number"
+msgstr ""
+
+#: stock/models.py:997
+#, python-brace-format
+msgid "Serialized {n} items"
+msgstr ""
+
+#: stock/models.py:1075
+msgid "Split from existing stock"
+msgstr ""
+
+#: stock/models.py:1113
+msgid "StockItem cannot be moved as it is not in stock"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Title"
+msgstr ""
+
+#: stock/models.py:1556
+msgid "Tracking entry title"
+msgstr ""
+
+#: stock/models.py:1558
+msgid "Entry notes"
+msgstr ""
+
+#: stock/models.py:1560
+msgid "Link to external page for further information"
+msgstr ""
+
+#: stock/models.py:1620
+msgid "Value must be provided for this test"
+msgstr ""
+
+#: stock/models.py:1626
+msgid "Attachment must be uploaded for this test"
+msgstr ""
+
+#: stock/models.py:1644
+msgid "Test name"
+msgstr ""
+
+#: stock/models.py:1650 templates/js/table_filters.js:212
+msgid "Test result"
+msgstr ""
+
+#: stock/models.py:1656
+msgid "Test output value"
+msgstr ""
+
+#: stock/models.py:1663
+msgid "Test result attachment"
+msgstr ""
+
+#: stock/models.py:1669
+msgid "Test notes"
+msgstr ""
+
+#: stock/templates/stock/item.html:12
+msgid "Stock Tracking Information"
+msgstr ""
+
+#: stock/templates/stock/item.html:30
+msgid "New Entry"
+msgstr ""
+
+#: stock/templates/stock/item_attachments.html:11
+msgid "Stock Item Attachments"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:24
+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:31
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:32
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:45
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:53
+#, python-format
+msgid ""
+"This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:61
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:67
+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:71
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:75
+msgid ""
+"This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:95
+#: stock/templates/stock/item_base.html:369 templates/js/table_filters.js:145
+msgid "Expired"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:99
+#: stock/templates/stock/item_base.html:371 templates/js/table_filters.js:150
+msgid "Stale"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:136 templates/js/barcode.js:309
+#: templates/js/barcode.js:314
+msgid "Unlink Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:138
+msgid "Link Barcode"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:140 templates/stock_table.html:31
+msgid "Scan to Location"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:147
+msgid "Printing actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:151
+#: stock/templates/stock/item_tests.html:27
+msgid "Test Report"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:160
+msgid "Stock adjustment actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:164
+#: stock/templates/stock/location.html:65 templates/stock_table.html:56
+msgid "Count stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:167 templates/stock_table.html:54
+msgid "Add stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:170 templates/stock_table.html:55
+msgid "Remove stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:173
+msgid "Serialize stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:177
+msgid "Transfer stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:180
+msgid "Assign to customer"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:183
+msgid "Return to stock"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187 templates/js/stock.js:1299
+msgid "Uninstall stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:187
+msgid "Uninstall"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:196
+#: stock/templates/stock/location.html:62
+msgid "Stock actions"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:199
+msgid "Convert to variant"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:202
+msgid "Duplicate stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:204
+msgid "Edit stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:207
+msgid "Delete stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:219
+msgid "Stock Item Details"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:278 templates/js/build.js:498
+msgid "No location set"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:285
+msgid "Barcode Identifier"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:327
+msgid "Parent Item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:369
+#, python-format
+msgid "This StockItem expired on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:371
+#, python-format
+msgid "This StockItem expires on %(item.expiry_date)s"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:378 templates/js/stock.js:662
+msgid "Last Updated"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:383
+msgid "Last Stocktake"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:387
+msgid "No stocktake performed"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:12
+msgid "Child Stock Items"
+msgstr ""
+
+#: stock/templates/stock/item_childs.html:20
+msgid "This stock item does not have any child items"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:9
+msgid "Are you sure you want to delete this stock item?"
+msgstr ""
+
+#: stock/templates/stock/item_delete.html:12
+#, python-format
+msgid ""
+"This will remove %(qty)s units of %(full_name)s from stock."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:7
+msgid "Install another StockItem into this item."
+msgstr ""
+
+#: stock/templates/stock/item_install.html:10
+msgid "Stock items can only be installed if they meet the following criteria"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:13
+msgid "The StockItem links to a Part which is in the BOM for this StockItem"
+msgstr ""
+
+#: stock/templates/stock/item_install.html:14
+msgid "The StockItem is currently in stock"
+msgstr ""
+
+#: stock/templates/stock/item_installed.html:11
+#: stock/templates/stock/navbar.html:27
+msgid "Installed Stock Items"
+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/item_tests.html:11
+#: stock/templates/stock/navbar.html:19 stock/templates/stock/navbar.html:22
+msgid "Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:20
+msgid "Delete Test Data"
+msgstr ""
+
+#: stock/templates/stock/item_tests.html:24
+msgid "Add Test Data"
+msgstr ""
+
+#: stock/templates/stock/location.html:20
+msgid ""
+"You are not in the list of owners of this location. This stock location "
+"cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/location.html:37
+msgid "All stock items"
+msgstr ""
+
+#: stock/templates/stock/location.html:55
+msgid "Check-in Items"
+msgstr ""
+
+#: stock/templates/stock/location.html:71
+msgid "Location actions"
+msgstr ""
+
+#: stock/templates/stock/location.html:73
+msgid "Edit location"
+msgstr ""
+
+#: stock/templates/stock/location.html:75
+msgid "Delete location"
+msgstr ""
+
+#: stock/templates/stock/location.html:87
+msgid "Location Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:92
+msgid "Location Path"
+msgstr ""
+
+#: stock/templates/stock/location.html:97
+msgid "Location Description"
+msgstr ""
+
+#: stock/templates/stock/location.html:102
+#: stock/templates/stock/location_navbar.html:11
+#: stock/templates/stock/location_navbar.html:18
+#: stock/templates/stock/sublocation.html:16
+msgid "Sublocations"
+msgstr ""
+
+#: stock/templates/stock/location.html:112
+msgid "Stock Details"
+msgstr ""
+
+#: stock/templates/stock/location.html:117 templates/InvenTree/search.html:279
+#: templates/stats.html:76 users/models.py:39
+msgid "Stock Locations"
+msgstr ""
+
+#: stock/templates/stock/location_delete.html:7
+msgid "Are you sure you want to delete this stock location?"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:11
+msgid "Stock Item Tracking"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:14
+msgid "History"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:30
+msgid "Installed Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:38
+msgid "Child Items"
+msgstr ""
+
+#: stock/templates/stock/navbar.html:41
+msgid "Children"
+msgstr ""
+
+#: stock/templates/stock/stock_adjust.html:43
+msgid "Remove item"
+msgstr ""
+
+#: stock/templates/stock/stock_app_base.html:16
+msgid "Loading..."
+msgstr ""
+
+#: stock/templates/stock/stock_uninstall.html:8
+msgid "The following stock items will be uninstalled"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:1332
+msgid "Convert Stock Item"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:8
+#, python-format
+msgid "This stock item is current an instance of %(part)s"
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:9
+msgid "It can be converted to one of the part variants listed below."
+msgstr ""
+
+#: stock/templates/stock/stockitem_convert.html:14
+msgid "This action cannot be easily undone"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:23 templates/stock_table.html:37
+msgid "Printing Actions"
+msgstr ""
+
+#: stock/templates/stock/sublocation.html:27 templates/stock_table.html:41
+msgid "Print labels"
+msgstr ""
+
+#: stock/templates/stock/tracking_delete.html:6
+msgid "Are you sure you want to delete this stock tracking entry?"
+msgstr ""
+
+#: stock/views.py:123
+msgid "Edit Stock Location"
+msgstr ""
+
+#: stock/views.py:230 stock/views.py:1322 stock/views.py:1433
+#: stock/views.py:1798
+msgid "Owner is required (ownership control is enabled)"
+msgstr ""
+
+#: stock/views.py:245
+msgid "Stock Location QR code"
+msgstr ""
+
+#: stock/views.py:265
+msgid "Add Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:311
+msgid "Edit Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:327
+msgid "Delete Stock Item Attachment"
+msgstr ""
+
+#: stock/views.py:343
+msgid "Assign to Customer"
+msgstr ""
+
+#: stock/views.py:352
+msgid "Customer must be specified"
+msgstr ""
+
+#: stock/views.py:376
+msgid "Return to Stock"
+msgstr ""
+
+#: stock/views.py:385
+msgid "Specify a valid location"
+msgstr ""
+
+#: stock/views.py:396
+msgid "Stock item returned from customer"
+msgstr ""
+
+#: stock/views.py:407
+msgid "Delete All Test Data"
+msgstr ""
+
+#: stock/views.py:424
+msgid "Confirm test data deletion"
+msgstr ""
+
+#: stock/views.py:444
+msgid "Add Test Result"
+msgstr ""
+
+#: stock/views.py:484
+msgid "Edit Test Result"
+msgstr ""
+
+#: stock/views.py:501
+msgid "Delete Test Result"
+msgstr ""
+
+#: stock/views.py:509
+msgid "Stock Export Options"
+msgstr ""
+
+#: stock/views.py:630
+msgid "Stock Item QR Code"
+msgstr ""
+
+#: stock/views.py:656
+msgid "Install Stock Item"
+msgstr ""
+
+#: stock/views.py:755
+msgid "Uninstall Stock Items"
+msgstr ""
+
+#: stock/views.py:863
+msgid "Uninstalled stock items"
+msgstr ""
+
+#: stock/views.py:888
+msgid "Adjust Stock"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move Stock Items"
+msgstr ""
+
+#: stock/views.py:998
+msgid "Move"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count Stock Items"
+msgstr ""
+
+#: stock/views.py:999
+msgid "Count"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Remove From Stock"
+msgstr ""
+
+#: stock/views.py:1000
+msgid "Take"
+msgstr ""
+
+#: stock/views.py:1001
+msgid "Add Stock Items"
+msgstr ""
+
+#: stock/views.py:1001 users/models.py:180
+msgid "Add"
+msgstr ""
+
+#: stock/views.py:1002
+msgid "Delete Stock Items"
+msgstr ""
+
+#: stock/views.py:1031
+msgid "Must enter integer value"
+msgstr ""
+
+#: stock/views.py:1036
+msgid "Quantity must be positive"
+msgstr ""
+
+#: stock/views.py:1043
+#, python-brace-format
+msgid "Quantity must not exceed {x}"
+msgstr ""
+
+#: stock/views.py:1107
+msgid "No action performed"
+msgstr ""
+
+#: stock/views.py:1122
+#, python-brace-format
+msgid "Added stock to {n} items"
+msgstr ""
+
+#: stock/views.py:1137
+#, python-brace-format
+msgid "Removed stock from {n} items"
+msgstr ""
+
+#: stock/views.py:1150
+#, python-brace-format
+msgid "Counted stock for {n} items"
+msgstr ""
+
+#: stock/views.py:1190
+msgid "No items were moved"
+msgstr ""
+
+#: stock/views.py:1193
+#, python-brace-format
+msgid "Moved {n} items to {dest}"
+msgstr ""
+
+#: stock/views.py:1212
+#, python-brace-format
+msgid "Deleted {n} stock items"
+msgstr ""
+
+#: stock/views.py:1224
+msgid "Edit Stock Item"
+msgstr ""
+
+#: stock/views.py:1450
+msgid "Serialize Stock"
+msgstr ""
+
+#: stock/views.py:1543 templates/js/build.js:244
+msgid "Create new Stock Item"
+msgstr ""
+
+#: stock/views.py:1685
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: stock/views.py:1767
+msgid "Quantity cannot be negative"
+msgstr ""
+
+#: stock/views.py:1867
+msgid "Delete Stock Location"
+msgstr ""
+
+#: stock/views.py:1880
+msgid "Delete Stock Item"
+msgstr ""
+
+#: stock/views.py:1891
+msgid "Delete Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1898
+msgid "Edit Stock Tracking Entry"
+msgstr ""
+
+#: stock/views.py:1907
+msgid "Add Stock Tracking Entry"
+msgstr ""
+
+#: templates/403.html:5 templates/403.html:11
+msgid "Permission Denied"
+msgstr ""
+
+#: templates/403.html:14
+msgid "You do not have permission to view this page."
+msgstr ""
+
+#: templates/404.html:5 templates/404.html:11
+msgid "Page Not Found"
+msgstr ""
+
+#: templates/404.html:14
+msgid "The requested page does not exist"
+msgstr ""
+
+#: templates/InvenTree/index.html:7
+msgid "Index"
+msgstr ""
+
+#: templates/InvenTree/index.html:98
+msgid "Starred Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:99
+msgid "Latest Parts"
+msgstr ""
+
+#: templates/InvenTree/index.html:100
+msgid "BOM Waiting Validation"
+msgstr ""
+
+#: templates/InvenTree/index.html:129
+msgid "Recently Updated"
+msgstr ""
+
+#: templates/InvenTree/index.html:145
+msgid "Expired Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:146
+msgid "Stale Stock"
+msgstr ""
+
+#: templates/InvenTree/index.html:184
+msgid "Build Orders In Progress"
+msgstr ""
+
+#: templates/InvenTree/index.html:185
+msgid "Overdue Build Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:206
+msgid "Outstanding Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:207
+msgid "Overdue Purchase Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:229
+msgid "Outstanding Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/index.html:230
+msgid "Overdue Sales Orders"
+msgstr ""
+
+#: templates/InvenTree/search.html:8 templates/InvenTree/search.html:14
+msgid "Search Results"
+msgstr ""
+
+#: templates/InvenTree/search.html:24
+msgid "Enter a search query"
+msgstr ""
+
+#: templates/InvenTree/search.html:268 templates/js/stock.js:300
+msgid "Shipped to customer"
+msgstr ""
+
+#: templates/InvenTree/search.html:271 templates/js/stock.js:310
+msgid "No stock location set"
+msgstr ""
+
+#: templates/InvenTree/settings/build.html:10
+msgid "Build Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:9
+msgid "Category Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:25
+msgid "Category Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:52
+msgid "No category parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:70
+#: templates/InvenTree/settings/part.html:81
+msgid "Edit Template"
+msgstr ""
+
+#: templates/InvenTree/settings/category.html:71
+#: templates/InvenTree/settings/part.html:82
+msgid "Delete Template"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:10
+msgid "Global InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/global.html:27
+msgid "Barcode Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/header.html:7
+msgid "Setting"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:9
+msgid "Part Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:14
+msgid "Part Options"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:40
+msgid "Part Parameter Templates"
+msgstr ""
+
+#: templates/InvenTree/settings/part.html:61
+msgid "No part parameter templates found"
+msgstr ""
+
+#: templates/InvenTree/settings/po.html:9
+msgid "Purchase Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/report.html:10
+msgid "Report Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:23
+msgid "No value set"
+msgstr ""
+
+#: templates/InvenTree/settings/setting.html:31
+msgid "Edit setting"
+msgstr ""
+
+#: templates/InvenTree/settings/settings.html:8
+#: templates/InvenTree/settings/settings.html:14 templates/navbar.html:84
+msgid "Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/so.html:9
+msgid "Sales Order Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:9
+msgid "Stock Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/stock.html:13 templates/stock_table.html:49
+msgid "Stock Options"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:3
+#: templates/InvenTree/settings/user.html:10
+msgid "User Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:6
+msgid "Account"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:9
+msgid "Theme"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:13
+msgid "InvenTree Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:16
+msgid "Global"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:19
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:22
+msgid "Categories"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:10
+msgid "Theme Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:17
+msgid "Color Themes"
+msgstr ""
+
+#: templates/InvenTree/settings/theme.html:29
+#, python-format
+msgid ""
+"\n"
+"\t\tThe CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected "
+"color theme was not found.
\n"
+"\t\tPlease select another color theme :)\n"
+"\t"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:16
+msgid "User Information"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:21
+msgid "Change Password"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:28
+#: templates/registration/login.html:59
+msgid "Username"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:32
+msgid "First Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:36
+msgid "Last Name"
+msgstr ""
+
+#: templates/InvenTree/settings/user.html:40
+msgid "Email Address"
+msgstr ""
+
+#: templates/about.html:13
+msgid "InvenTree Version Information"
+msgstr ""
+
+#: templates/about.html:22
+msgid "InvenTree Version"
+msgstr ""
+
+#: templates/about.html:26
+msgid "Up to Date"
+msgstr ""
+
+#: templates/about.html:28
+msgid "Update Available"
+msgstr ""
+
+#: templates/about.html:34
+msgid "Django Version"
+msgstr ""
+
+#: templates/about.html:41
+msgid "Commit Hash"
+msgstr ""
+
+#: templates/about.html:48
+msgid "Commit Date"
+msgstr ""
+
+#: templates/about.html:53
+msgid "InvenTree Documentation"
+msgstr ""
+
+#: templates/about.html:58
+msgid "View Code on GitHub"
+msgstr ""
+
+#: templates/about.html:63
+msgid "Get the App"
+msgstr ""
+
+#: templates/about.html:68
+msgid "Submit Bug Report"
+msgstr ""
+
+#: templates/attachment_table.html:6
+msgid "Add Attachment"
+msgstr ""
+
+#: templates/attachment_table.html:15
+msgid "File"
+msgstr ""
+
+#: templates/attachment_table.html:17
+msgid "Uploaded"
+msgstr ""
+
+#: templates/attachment_table.html:35
+msgid "Delete attachment"
+msgstr ""
+
+#: templates/image_download.html:8
+msgid "Specify URL for downloading image"
+msgstr ""
+
+#: templates/image_download.html:11
+msgid "Must be a valid image URL"
+msgstr ""
+
+#: templates/image_download.html:12
+msgid "Remote server must be accessible"
+msgstr ""
+
+#: templates/image_download.html:13
+msgid "Remote image must not exceed maximum allowable file size"
+msgstr ""
+
+#: templates/js/barcode.js:8
+msgid "Scan barcode data here using wedge scanner"
+msgstr ""
+
+#: templates/js/barcode.js:10
+msgid "Enter barcode data"
+msgstr ""
+
+#: templates/js/barcode.js:14
+msgid "Barcode"
+msgstr ""
+
+#: templates/js/barcode.js:32
+msgid "Enter optional notes for stock transfer"
+msgstr ""
+
+#: templates/js/barcode.js:33
+msgid "Enter notes"
+msgstr ""
+
+#: templates/js/barcode.js:71
+msgid "Server error"
+msgstr ""
+
+#: templates/js/barcode.js:92
+msgid "Unknown response from server"
+msgstr ""
+
+#: templates/js/barcode.js:119 templates/js/modals.js:857
+msgid "Invalid server response"
+msgstr ""
+
+#: templates/js/barcode.js:212
+msgid "Scan barcode data below"
+msgstr ""
+
+#: templates/js/barcode.js:270
+msgid "No URL in response"
+msgstr ""
+
+#: templates/js/barcode.js:288
+msgid "Link Barcode to Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:311
+msgid ""
+"This will remove the association between this stock item and the barcode"
+msgstr ""
+
+#: templates/js/barcode.js:317
+msgid "Unlink"
+msgstr ""
+
+#: templates/js/barcode.js:376
+msgid "Remove stock item"
+msgstr ""
+
+#: templates/js/barcode.js:418
+msgid "Check Stock Items into Location"
+msgstr ""
+
+#: templates/js/barcode.js:422 templates/js/barcode.js:547
+msgid "Check In"
+msgstr ""
+
+#: templates/js/barcode.js:462 templates/js/barcode.js:586
+msgid "Error transferring stock"
+msgstr ""
+
+#: templates/js/barcode.js:481
+msgid "Stock Item already scanned"
+msgstr ""
+
+#: templates/js/barcode.js:485
+msgid "Stock Item already in this location"
+msgstr ""
+
+#: templates/js/barcode.js:492
+msgid "Added stock item"
+msgstr ""
+
+#: templates/js/barcode.js:499
+msgid "Barcode does not match Stock Item"
+msgstr ""
+
+#: templates/js/barcode.js:542
+msgid "Check Into Location"
+msgstr ""
+
+#: templates/js/barcode.js:605
+msgid "Barcode does not match a valid location"
+msgstr ""
+
+#: templates/js/bom.js:175 templates/js/build.js:994
+msgid "Open subassembly"
+msgstr ""
+
+#: templates/js/bom.js:261
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/filters.js:397
+msgid "true"
+msgstr ""
+
+#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/filters.js:398
+msgid "false"
+msgstr ""
+
+#: templates/js/bom.js:290 templates/js/bom.js:376
+msgid "View BOM"
+msgstr ""
+
+#: templates/js/bom.js:350
+msgid "Validate BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:352
+msgid "This line has been validated"
+msgstr ""
+
+#: templates/js/bom.js:354
+msgid "Edit BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:356
+msgid "Delete BOM Item"
+msgstr ""
+
+#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+msgid "No BOM items found"
+msgstr ""
+
+#: templates/js/build.js:62
+msgid "Auto-allocate stock items to this output"
+msgstr ""
+
+#: templates/js/build.js:70
+msgid "Unallocate stock from build output"
+msgstr ""
+
+#: templates/js/build.js:80
+msgid "Complete build output"
+msgstr ""
+
+#: templates/js/build.js:89
+msgid "Delete build output"
+msgstr ""
+
+#: templates/js/build.js:243 templates/stock_table.html:20
+msgid "New Stock Item"
+msgstr ""
+
+#: templates/js/build.js:549
+msgid "Required Part"
+msgstr ""
+
+#: templates/js/build.js:570
+msgid "Quantity Per"
+msgstr ""
+
+#: templates/js/build.js:638 templates/js/build.js:1056
+#: templates/stock_table.html:58
+msgid "Order stock"
+msgstr ""
+
+#: templates/js/build.js:691
+msgid "No builds matching query"
+msgstr ""
+
+#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
+#: templates/js/stock.js:511 templates/js/stock.js:938
+#: templates/js/stock.js:1331
+msgid "Select"
+msgstr ""
+
+#: templates/js/build.js:728
+msgid "Build order is overdue"
+msgstr ""
+
+#: templates/js/build.js:827
+msgid "No parts allocated for"
+msgstr ""
+
+#: templates/js/company.js:74
+msgid "Parts Supplied"
+msgstr ""
+
+#: templates/js/company.js:83
+msgid "Parts Manufactured"
+msgstr ""
+
+#: templates/js/company.js:96
+msgid "No company information found"
+msgstr ""
+
+#: templates/js/company.js:129
+msgid "No manufacturer parts found"
+msgstr ""
+
+#: templates/js/company.js:148 templates/js/company.js:246
+#: templates/js/part.js:60 templates/js/part.js:145
+msgid "Template part"
+msgstr ""
+
+#: templates/js/company.js:152 templates/js/company.js:250
+#: templates/js/part.js:64 templates/js/part.js:149
+msgid "Assembled part"
+msgstr ""
+
+#: templates/js/company.js:227
+msgid "No supplier parts found"
+msgstr ""
+
+#: templates/js/filters.js:193
+msgid "Select filter"
+msgstr ""
+
+#: templates/js/filters.js:268
+msgid "Add new filter"
+msgstr ""
+
+#: templates/js/filters.js:271
+msgid "Clear all filters"
+msgstr ""
+
+#: templates/js/filters.js:296
+msgid "Create filter"
+msgstr ""
+
+#: templates/js/label.js:10 templates/js/report.js:98
+msgid "Select Stock Items"
+msgstr ""
+
+#: templates/js/label.js:11
+msgid "Stock item(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:29 templates/js/label.js:79
+msgid "No Labels Found"
+msgstr ""
+
+#: templates/js/label.js:30
+msgid "No labels found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/label.js:61
+msgid "Select Stock Locations"
+msgstr ""
+
+#: templates/js/label.js:62
+msgid "Stock location(s) must be selected before printing labels"
+msgstr ""
+
+#: templates/js/label.js:80
+msgid "No labels found which match selected stock location(s)"
+msgstr ""
+
+#: templates/js/label.js:154
+msgid "stock items selected"
+msgstr ""
+
+#: templates/js/label.js:162
+msgid "Select Label"
+msgstr ""
+
+#: templates/js/label.js:177
+msgid "Select Label Template"
+msgstr ""
+
+#: templates/js/modals.js:256
+msgid "Waiting for server..."
+msgstr ""
+
+#: templates/js/modals.js:406
+msgid "Show Error Information"
+msgstr ""
+
+#: templates/js/modals.js:473 templates/modals.html:73
+msgid "Accept"
+msgstr ""
+
+#: templates/js/modals.js:474 templates/modals.html:72
+msgid "Cancel"
+msgstr ""
+
+#: templates/js/modals.js:538
+msgid "Loading Data"
+msgstr ""
+
+#: templates/js/modals.js:549 templates/js/modals.js:808
+#: templates/modals.html:29 templates/modals.html:53
+msgid "Submit"
+msgstr ""
+
+#: templates/js/modals.js:550 templates/js/modals.js:809
+#: templates/modals.html:28 templates/modals.html:52 templates/modals.html:93
+msgid "Close"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Invalid response from server"
+msgstr ""
+
+#: templates/js/modals.js:760
+msgid "Form data missing from server response"
+msgstr ""
+
+#: templates/js/modals.js:773
+msgid "Error posting form data"
+msgstr ""
+
+#: templates/js/modals.js:857
+msgid "JSON response missing form data"
+msgstr ""
+
+#: templates/js/modals.js:867
+msgid "No Response"
+msgstr ""
+
+#: templates/js/modals.js:868
+msgid "No response from the InvenTree server"
+msgstr ""
+
+#: templates/js/modals.js:872
+msgid "Error 400: Bad Request"
+msgstr ""
+
+#: templates/js/modals.js:873
+msgid "Server returned error code 400"
+msgstr ""
+
+#: templates/js/modals.js:877
+msgid "Error 401: Not Authenticated"
+msgstr ""
+
+#: templates/js/modals.js:878
+msgid "Authentication credentials not supplied"
+msgstr ""
+
+#: templates/js/modals.js:882
+msgid "Error 403: Permission Denied"
+msgstr ""
+
+#: templates/js/modals.js:883
+msgid "You do not have the required permissions to access this function"
+msgstr ""
+
+#: templates/js/modals.js:887
+msgid "Error 404: Resource Not Found"
+msgstr ""
+
+#: templates/js/modals.js:888
+msgid "The requested resource could not be located on the server"
+msgstr ""
+
+#: templates/js/modals.js:892
+msgid "Error 408: Timeout"
+msgstr ""
+
+#: templates/js/modals.js:893
+msgid "Connection timeout while requesting data from server"
+msgstr ""
+
+#: templates/js/modals.js:896
+msgid "Error requesting form data"
+msgstr ""
+
+#: templates/js/order.js:138
+msgid "No purchase orders found"
+msgstr ""
+
+#: templates/js/order.js:162 templates/js/order.js:257
+msgid "Order is overdue"
+msgstr ""
+
+#: templates/js/order.js:234
+msgid "No sales orders found"
+msgstr ""
+
+#: templates/js/part.js:52 templates/js/part.js:137
+msgid "Trackable part"
+msgstr ""
+
+#: templates/js/part.js:56 templates/js/part.js:141
+msgid "Virtual part"
+msgstr ""
+
+#: templates/js/part.js:68
+msgid "Starred part"
+msgstr ""
+
+#: templates/js/part.js:72
+msgid "Salable part"
+msgstr ""
+
+#: templates/js/part.js:186
+msgid "No variants found"
+msgstr ""
+
+#: templates/js/part.js:272 templates/js/part.js:452
+msgid "No parts found"
+msgstr ""
+
+#: templates/js/part.js:391
+msgid "No category"
+msgstr ""
+
+#: templates/js/part.js:409 templates/js/table_filters.js:318
+msgid "Low stock"
+msgstr ""
+
+#: templates/js/part.js:571 templates/js/stock.js:962
+msgid "Path"
+msgstr ""
+
+#: templates/js/part.js:588
+msgid "YES"
+msgstr ""
+
+#: templates/js/part.js:590
+msgid "NO"
+msgstr ""
+
+#: templates/js/part.js:624
+msgid "No test templates matching query"
+msgstr ""
+
+#: templates/js/part.js:675 templates/js/stock.js:75
+msgid "Edit test result"
+msgstr ""
+
+#: templates/js/part.js:676 templates/js/stock.js:76
+msgid "Delete test result"
+msgstr ""
+
+#: templates/js/part.js:682
+msgid "This test is defined for a parent part"
+msgstr ""
+
+#: templates/js/report.js:47
+msgid "items selected"
+msgstr ""
+
+#: templates/js/report.js:55
+msgid "Select Report Template"
+msgstr ""
+
+#: templates/js/report.js:70
+msgid "Select Test Report Template"
+msgstr ""
+
+#: templates/js/report.js:99
+msgid "Stock item(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:116 templates/js/report.js:169
+#: templates/js/report.js:223 templates/js/report.js:277
+#: templates/js/report.js:331
+msgid "No Reports Found"
+msgstr ""
+
+#: templates/js/report.js:117
+msgid "No report templates found which match selected stock item(s)"
+msgstr ""
+
+#: templates/js/report.js:152
+msgid "Select Builds"
+msgstr ""
+
+#: templates/js/report.js:153
+msgid "Build(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:170
+msgid "No report templates found which match selected build(s)"
+msgstr ""
+
+#: templates/js/report.js:205
+msgid "Select Parts"
+msgstr ""
+
+#: templates/js/report.js:206
+msgid "Part(s) must be selected before printing reports"
+msgstr ""
+
+#: templates/js/report.js:224
+msgid "No report templates found which match selected part(s)"
+msgstr ""
+
+#: templates/js/report.js:259
+msgid "Select Purchase Orders"
+msgstr ""
+
+#: templates/js/report.js:260
+msgid "Purchase Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/report.js:278 templates/js/report.js:332
+msgid "No report templates found which match selected orders"
+msgstr ""
+
+#: templates/js/report.js:313
+msgid "Select Sales Orders"
+msgstr ""
+
+#: templates/js/report.js:314
+msgid "Sales Order(s) must be selected before printing report"
+msgstr ""
+
+#: templates/js/stock.js:38
+msgid "PASS"
+msgstr ""
+
+#: templates/js/stock.js:40
+msgid "FAIL"
+msgstr ""
+
+#: templates/js/stock.js:45
+msgid "NO RESULT"
+msgstr ""
+
+#: templates/js/stock.js:71
+msgid "Add test result"
+msgstr ""
+
+#: templates/js/stock.js:90
+msgid "No test results found"
+msgstr ""
+
+#: templates/js/stock.js:132
+msgid "Test Date"
+msgstr ""
+
+#: templates/js/stock.js:292
+msgid "In production"
+msgstr ""
+
+#: templates/js/stock.js:296
+msgid "Installed in Stock Item"
+msgstr ""
+
+#: templates/js/stock.js:304
+msgid "Assigned to Sales Order"
+msgstr ""
+
+#: templates/js/stock.js:336
+msgid "No stock items matching query"
+msgstr ""
+
+#: templates/js/stock.js:357
+msgid "items"
+msgstr ""
+
+#: templates/js/stock.js:449
+msgid "batches"
+msgstr ""
+
+#: templates/js/stock.js:476
+msgid "locations"
+msgstr ""
+
+#: templates/js/stock.js:478
+msgid "Undefined location"
+msgstr ""
+
+#: templates/js/stock.js:579
+msgid "Stock item is in production"
+msgstr ""
+
+#: templates/js/stock.js:584
+msgid "Stock item assigned to sales order"
+msgstr ""
+
+#: templates/js/stock.js:587
+msgid "Stock item assigned to customer"
+msgstr ""
+
+#: templates/js/stock.js:591
+msgid "Stock item has expired"
+msgstr ""
+
+#: templates/js/stock.js:593
+msgid "Stock item will expire soon"
+msgstr ""
+
+#: templates/js/stock.js:597
+msgid "Stock item has been allocated"
+msgstr ""
+
+#: templates/js/stock.js:601
+msgid "Stock item has been installed in another item"
+msgstr ""
+
+#: templates/js/stock.js:609
+msgid "Stock item has been rejected"
+msgstr ""
+
+#: templates/js/stock.js:613
+msgid "Stock item is lost"
+msgstr ""
+
+#: templates/js/stock.js:616
+msgid "Stock item is destroyed"
+msgstr ""
+
+#: templates/js/stock.js:620 templates/js/table_filters.js:138
+msgid "Depleted"
+msgstr ""
+
+#: templates/js/stock.js:649
+msgid "Stocktake"
+msgstr ""
+
+#: templates/js/stock.js:825
+msgid "Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:840
+msgid "Set Stock Status"
+msgstr ""
+
+#: templates/js/stock.js:854
+msgid "Select Status Code"
+msgstr ""
+
+#: templates/js/stock.js:855
+msgid "Status code must be selected"
+msgstr ""
+
+#: templates/js/stock.js:1050
+msgid "No user information"
+msgstr ""
+
+#: templates/js/stock.js:1060
+msgid "Edit tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1061
+msgid "Delete tracking entry"
+msgstr ""
+
+#: templates/js/stock.js:1170
+msgid "Create New Location"
+msgstr ""
+
+#: templates/js/stock.js:1269
+msgid "Serial"
+msgstr ""
+
+#: templates/js/stock.js:1362 templates/js/table_filters.js:171
+msgid "Installed"
+msgstr ""
+
+#: templates/js/stock.js:1387
+msgid "Install item"
+msgstr ""
+
+#: templates/js/table_filters.js:42
+msgid "Trackable Part"
+msgstr ""
+
+#: templates/js/table_filters.js:46
+msgid "Validated"
+msgstr ""
+
+#: templates/js/table_filters.js:71
+msgid "Include locations"
+msgstr ""
+
+#: templates/js/table_filters.js:81 templates/js/table_filters.js:82
+#: templates/js/table_filters.js:295
+msgid "Include subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:92 templates/js/table_filters.js:181
+msgid "Is Serialized"
+msgstr ""
+
+#: templates/js/table_filters.js:95 templates/js/table_filters.js:188
+msgid "Serial number GTE"
+msgstr ""
+
+#: templates/js/table_filters.js:96 templates/js/table_filters.js:189
+msgid "Serial number greater than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:99 templates/js/table_filters.js:192
+msgid "Serial number LTE"
+msgstr ""
+
+#: templates/js/table_filters.js:100 templates/js/table_filters.js:193
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/table_filters.js:103 templates/js/table_filters.js:104
+#: templates/js/table_filters.js:184 templates/js/table_filters.js:185
+msgid "Serial number"
+msgstr ""
+
+#: templates/js/table_filters.js:108 templates/js/table_filters.js:202
+msgid "Batch code"
+msgstr ""
+
+#: templates/js/table_filters.js:118 templates/js/table_filters.js:285
+msgid "Active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:119
+msgid "Show stock for active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:124
+msgid "Part is an assembly"
+msgstr ""
+
+#: templates/js/table_filters.js:128
+msgid "Is allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:129
+msgid "Item has been allocated"
+msgstr ""
+
+#: templates/js/table_filters.js:134
+msgid "Include stock in sublocations"
+msgstr ""
+
+#: templates/js/table_filters.js:139
+msgid "Show stock items which are depleted"
+msgstr ""
+
+#: templates/js/table_filters.js:146
+msgid "Show stock items which have expired"
+msgstr ""
+
+#: templates/js/table_filters.js:151
+msgid "Show stock which is close to expiring"
+msgstr ""
+
+#: templates/js/table_filters.js:157
+msgid "Show items which are in stock"
+msgstr ""
+
+#: templates/js/table_filters.js:161
+msgid "In Production"
+msgstr ""
+
+#: templates/js/table_filters.js:162
+msgid "Show items which are in production"
+msgstr ""
+
+#: templates/js/table_filters.js:166
+msgid "Include Variants"
+msgstr ""
+
+#: templates/js/table_filters.js:167
+msgid "Include stock items for variant parts"
+msgstr ""
+
+#: templates/js/table_filters.js:172
+msgid "Show stock items which are installed in another item"
+msgstr ""
+
+#: templates/js/table_filters.js:176
+msgid "Sent to customer"
+msgstr ""
+
+#: templates/js/table_filters.js:177
+msgid "Show items which have been assigned to a customer"
+msgstr ""
+
+#: templates/js/table_filters.js:197 templates/js/table_filters.js:198
+msgid "Stock status"
+msgstr ""
+
+#: templates/js/table_filters.js:231
+msgid "Build status"
+msgstr ""
+
+#: templates/js/table_filters.js:250 templates/js/table_filters.js:267
+msgid "Order status"
+msgstr ""
+
+#: templates/js/table_filters.js:255 templates/js/table_filters.js:272
+msgid "Outstanding"
+msgstr ""
+
+#: templates/js/table_filters.js:296
+msgid "Include parts in subcategories"
+msgstr ""
+
+#: templates/js/table_filters.js:300
+msgid "Has IPN"
+msgstr ""
+
+#: templates/js/table_filters.js:301
+msgid "Part has internal part number"
+msgstr ""
+
+#: templates/js/table_filters.js:306
+msgid "Show active parts"
+msgstr ""
+
+#: templates/js/table_filters.js:314
+msgid "Stock available"
+msgstr ""
+
+#: templates/js/table_filters.js:330
+msgid "Starred"
+msgstr ""
+
+#: templates/js/table_filters.js:342
+msgid "Purchasable"
+msgstr ""
+
+#: templates/js/tables.js:321
+msgid "Loading data"
+msgstr ""
+
+#: templates/js/tables.js:324
+msgid "rows per page"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "Showing"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "to"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "of"
+msgstr ""
+
+#: templates/js/tables.js:327
+msgid "rows"
+msgstr ""
+
+#: templates/js/tables.js:330 templates/search_form.html:6
+#: templates/search_form.html:8
+msgid "Search"
+msgstr ""
+
+#: templates/js/tables.js:333
+msgid "No matching results"
+msgstr ""
+
+#: templates/js/tables.js:336
+msgid "Hide/Show pagination"
+msgstr ""
+
+#: templates/js/tables.js:339
+msgid "Refresh"
+msgstr ""
+
+#: templates/js/tables.js:342
+msgid "Toggle"
+msgstr ""
+
+#: templates/js/tables.js:345
+msgid "Columns"
+msgstr ""
+
+#: templates/js/tables.js:348
+msgid "All"
+msgstr ""
+
+#: templates/modals.html:21 templates/modals.html:46
+msgid "Form errors exist"
+msgstr ""
+
+#: templates/navbar.html:33
+msgid "Buy"
+msgstr ""
+
+#: templates/navbar.html:43
+msgid "Sell"
+msgstr ""
+
+#: templates/navbar.html:55
+msgid "Scan Barcode"
+msgstr ""
+
+#: templates/navbar.html:77 users/models.py:36
+msgid "Admin"
+msgstr ""
+
+#: templates/navbar.html:79
+msgid "Logout"
+msgstr ""
+
+#: templates/navbar.html:81 templates/registration/login.html:90
+msgid "Login"
+msgstr ""
+
+#: templates/navbar.html:104
+msgid "About InvenTree"
+msgstr ""
+
+#: templates/qr_code.html:11
+msgid "QR data not provided"
+msgstr ""
+
+#: templates/registration/logged_out.html:51
+msgid "You have been logged out"
+msgstr ""
+
+#: templates/registration/logged_out.html:52
+#: templates/registration/password_reset_complete.html:52
+#: templates/registration/password_reset_done.html:59
+msgid "Return to login screen"
+msgstr ""
+
+#: templates/registration/login.html:65
+msgid "Enter username"
+msgstr ""
+
+#: templates/registration/login.html:71
+msgid "Password"
+msgstr ""
+
+#: templates/registration/login.html:84
+msgid "Username / password combination is incorrect"
+msgstr ""
+
+#: templates/registration/login.html:96
+#: templates/registration/password_reset_form.html:52
+msgid "Forgotten your password?"
+msgstr ""
+
+#: templates/registration/login.html:96
+msgid "Click here to reset"
+msgstr ""
+
+#: templates/registration/password_reset_complete.html:51
+msgid "Password reset complete"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:53
+#: templates/registration/password_reset_confirm.html:57
+msgid "Change password"
+msgstr ""
+
+#: templates/registration/password_reset_confirm.html:61
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:52
+msgid ""
+"We've emailed you instructions for setting your password, if an account "
+"exists with the email you entered. You should receive them shortly."
+msgstr ""
+
+#: templates/registration/password_reset_done.html:55
+msgid ""
+"If you don't receive an email, please make sure you've entered the address "
+"you registered with, and check your spam folder."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:53
+msgid "Enter your email address below."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:54
+msgid "An email will be sent with password reset instructions."
+msgstr ""
+
+#: templates/registration/password_reset_form.html:59
+msgid "Send email"
+msgstr ""
+
+#: templates/stats.html:9
+msgid "Server"
+msgstr ""
+
+#: templates/stats.html:13
+msgid "Instance Name"
+msgstr ""
+
+#: templates/stats.html:19
+msgid "Server status"
+msgstr ""
+
+#: templates/stats.html:22
+msgid "Healthy"
+msgstr ""
+
+#: templates/stats.html:24
+msgid "Issues detected"
+msgstr ""
+
+#: templates/stats.html:31
+msgid "Background Worker"
+msgstr ""
+
+#: templates/stats.html:34
+msgid "Background worker not running"
+msgstr ""
+
+#: templates/stats.html:42
+msgid "Email Settings"
+msgstr ""
+
+#: templates/stats.html:45
+msgid "Email settings not configured"
+msgstr ""
+
+#: templates/stock_table.html:14
+msgid "Export Stock Information"
+msgstr ""
+
+#: templates/stock_table.html:27
+msgid "Barcode Actions"
+msgstr ""
+
+#: templates/stock_table.html:43
+msgid "Print test reports"
+msgstr ""
+
+#: templates/stock_table.html:54
+msgid "Add to selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:55
+msgid "Remove from selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:56
+msgid "Stocktake selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move selected stock items"
+msgstr ""
+
+#: templates/stock_table.html:57
+msgid "Move stock"
+msgstr ""
+
+#: templates/stock_table.html:58
+msgid "Order selected items"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change status"
+msgstr ""
+
+#: templates/stock_table.html:59
+msgid "Change stock status"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete selected items"
+msgstr ""
+
+#: templates/stock_table.html:62
+msgid "Delete Stock"
+msgstr ""
+
+#: templates/yesnolabel.html:4
+msgid "Yes"
+msgstr ""
+
+#: templates/yesnolabel.html:6
+msgid "No"
+msgstr ""
+
+#: users/admin.py:64
+msgid "Users"
+msgstr ""
+
+#: users/admin.py:65
+msgid "Select which users are assigned to this group"
+msgstr ""
+
+#: users/admin.py:187
+msgid "The following users are members of multiple groups:"
+msgstr ""
+
+#: users/admin.py:210
+msgid "Personal info"
+msgstr ""
+
+#: users/admin.py:211
+msgid "Permissions"
+msgstr ""
+
+#: users/admin.py:214
+msgid "Important dates"
+msgstr ""
+
+#: users/models.py:167
+msgid "Permission set"
+msgstr ""
+
+#: users/models.py:175
+msgid "Group"
+msgstr ""
+
+#: users/models.py:178
+msgid "View"
+msgstr ""
+
+#: users/models.py:178
+msgid "Permission to view items"
+msgstr ""
+
+#: users/models.py:180
+msgid "Permission to add items"
+msgstr ""
+
+#: users/models.py:182
+msgid "Change"
+msgstr ""
+
+#: users/models.py:182
+msgid "Permissions to edit items"
+msgstr ""
+
+#: users/models.py:184
+msgid "Permission to delete items"
+msgstr ""
diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py
index ab946b7dcb..a2d7609bed 100644
--- a/InvenTree/part/api.py
+++ b/InvenTree/part/api.py
@@ -60,28 +60,43 @@ class CategoryList(generics.ListCreateAPIView):
queryset = PartCategory.objects.all()
serializer_class = part_serializers.CategorySerializer
- def get_queryset(self):
+ def filter_queryset(self, queryset):
"""
Custom filtering:
- Allow filtering by "null" parent to retrieve top-level part categories
"""
- cat_id = self.request.query_params.get('parent', None)
+ queryset = super().filter_queryset(queryset)
- queryset = super().get_queryset()
+ params = self.request.query_params
- if cat_id is not None:
+ cat_id = params.get('parent', None)
+
+ cascade = str2bool(params.get('cascade', False))
+
+ # Do not filter by category
+ if cat_id is None:
+ pass
+ # Look for top-level categories
+ elif isNull(cat_id):
- # Look for top-level categories
- if isNull(cat_id):
+ if not cascade:
queryset = queryset.filter(parent=None)
-
- else:
- try:
- cat_id = int(cat_id)
- queryset = queryset.filter(parent=cat_id)
- except ValueError:
- pass
+
+ else:
+ try:
+ category = PartCategory.objects.get(pk=cat_id)
+
+ if cascade:
+ parents = category.get_descendants(include_self=True)
+ parent_ids = [p.id for p in parents]
+
+ queryset = queryset.filter(parent__in=parent_ids)
+ else:
+ queryset = queryset.filter(parent=category)
+
+ except (ValueError, PartCategory.DoesNotExist):
+ pass
return queryset
diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py
index bd02672b3e..137781ba2b 100644
--- a/InvenTree/part/models.py
+++ b/InvenTree/part/models.py
@@ -1163,7 +1163,16 @@ class Part(MPTTModel):
Return the total amount of this part allocated to build orders
"""
- query = self.build_order_allocations().aggregate(total=Coalesce(Sum('quantity'), 0))
+ query = self.build_order_allocations().aggregate(
+ total=Coalesce(
+ Sum(
+ 'quantity',
+ output_field=models.DecimalField()
+ ),
+ 0,
+ output_field=models.DecimalField(),
+ )
+ )
return query['total']
@@ -1179,7 +1188,16 @@ class Part(MPTTModel):
Return the tutal quantity of this part allocated to sales orders
"""
- query = self.sales_order_allocations().aggregate(total=Coalesce(Sum('quantity'), 0))
+ query = self.sales_order_allocations().aggregate(
+ total=Coalesce(
+ Sum(
+ 'quantity',
+ output_field=models.DecimalField(),
+ ),
+ 0,
+ output_field=models.DecimalField(),
+ )
+ )
return query['total']
@@ -1189,10 +1207,12 @@ class Part(MPTTModel):
against both build orders and sales orders.
"""
- return sum([
- self.build_order_allocation_count(),
- self.sales_order_allocation_count(),
- ])
+ return sum(
+ [
+ self.build_order_allocation_count(),
+ self.sales_order_allocation_count(),
+ ],
+ )
def stock_entries(self, include_variants=True, in_stock=None):
""" Return all stock entries for this Part.
diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py
index 1ada816357..58df62283a 100644
--- a/InvenTree/part/serializers.py
+++ b/InvenTree/part/serializers.py
@@ -4,6 +4,7 @@ JSON serializers for Part app
import imghdr
from decimal import Decimal
+from django.db import models
from django.db.models import Q
from django.db.models.functions import Coalesce
from InvenTree.serializers import (InvenTreeAttachmentSerializerField,
@@ -208,7 +209,8 @@ class PartSerializer(InvenTreeModelSerializer):
queryset = queryset.annotate(
in_stock=Coalesce(
SubquerySum('stock_items__quantity', filter=StockItem.IN_STOCK_FILTER),
- Decimal(0)
+ Decimal(0),
+ output_field=models.DecimalField(),
),
)
@@ -227,6 +229,7 @@ class PartSerializer(InvenTreeModelSerializer):
building=Coalesce(
SubquerySum('builds__quantity', filter=build_filter),
Decimal(0),
+ output_field=models.DecimalField(),
)
)
@@ -240,9 +243,11 @@ class PartSerializer(InvenTreeModelSerializer):
ordering=Coalesce(
SubquerySum('supplier_parts__purchase_order_line_items__quantity', filter=order_filter),
Decimal(0),
+ output_field=models.DecimalField(),
) - Coalesce(
SubquerySum('supplier_parts__purchase_order_line_items__received', filter=order_filter),
Decimal(0),
+ output_field=models.DecimalField(),
)
)
@@ -251,6 +256,7 @@ class PartSerializer(InvenTreeModelSerializer):
suppliers=Coalesce(
SubqueryCount('supplier_parts'),
Decimal(0),
+ output_field=models.DecimalField(),
),
)
diff --git a/InvenTree/part/templates/part/category.html b/InvenTree/part/templates/part/category.html
index 0d1d11e7fd..04594afb3b 100644
--- a/InvenTree/part/templates/part/category.html
+++ b/InvenTree/part/templates/part/category.html
@@ -2,6 +2,10 @@
{% load static %}
{% load i18n %}
+{% block menubar %}
+{% include 'part/category_navbar.html' with tab='parts' %}
+{% endblock %}
+
{% block content %}
@@ -100,14 +104,10 @@
- {% if category and category.children.all|length > 0 %}
- {% include "part/subcategories.html" with children=category.children.all collapse_id="categories" %}
- {% elif children|length > 0 %}
- {% include "part/subcategories.html" with children=children collapse_id="categories" %}
- {% endif %}
-