From d49977bed3eb0c90871ca6cf82cc1f0f54e250e9 Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 15 Apr 2021 14:51:11 +0200 Subject: [PATCH 01/40] initial implementation as described in #1463 --- InvenTree/InvenTree/version.py | 8 ++++++++ InvenTree/common/models.py | 7 +++++++ InvenTree/part/templatetags/inventree_extras.py | 6 ++++++ InvenTree/templates/InvenTree/index.html | 5 +++-- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index b79323e1e7..6c0a524559 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -19,6 +19,14 @@ def inventreeInstanceName(): return common.models.InvenTreeSetting.get_setting("INVENTREE_INSTANCE", "") +def inventreeInstanceTitle(): + """ Returns the InstanceTitle for the current database """ + if common.models.InvenTreeSetting.get_setting("INVENTREE_INSTANCE_TITLE", False): + return common.models.InvenTreeSetting.get_setting("INVENTREE_INSTANCE", "") + else: + return 'InvenTree' + + def inventreeVersion(): """ Returns the InvenTree version string """ return INVENTREE_SW_VERSION diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 79580aabd9..2f82df7d92 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -58,6 +58,13 @@ class InvenTreeSetting(models.Model): 'description': _('String descriptor for the server instance'), }, + 'INVENTREE_INSTANCE_TITLE': { + 'name': _('Use Instance Name'), + 'description': _('Use the instance name in the Titel-Bar'), + 'validator': bool, + 'default': False, + }, + 'INVENTREE_COMPANY_NAME': { 'name': _('Company name'), 'description': _('Internal company name'), diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index c0dc15c2b0..868c09696a 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -71,6 +71,12 @@ def inventree_instance_name(*args, **kwargs): return version.inventreeInstanceName() +@register.simple_tag() +def inventree_title(*args, **kwargs): + """ Return the title for the current instance - respecting the settings """ + return version.inventreeInstanceTitle() + + @register.simple_tag() def inventree_version(*args, **kwargs): """ Return InvenTree version string """ diff --git a/InvenTree/templates/InvenTree/index.html b/InvenTree/templates/InvenTree/index.html index f7154e5fbb..9b18e2d94c 100644 --- a/InvenTree/templates/InvenTree/index.html +++ b/InvenTree/templates/InvenTree/index.html @@ -2,12 +2,13 @@ {% load i18n %} {% load static %} {% load inventree_extras %} + {% block page_title %} -InvenTree | {% trans "Index" %} +{% inventree_title %} | {% trans "Index" %} {% endblock %} {% block content %} -

InvenTree

+

{% inventree_title %}


From 098ac0c46114481a7d54272c9c57e7a2f212a969 Mon Sep 17 00:00:00 2001 From: Matthias Date: Thu, 15 Apr 2021 14:52:08 +0200 Subject: [PATCH 02/40] using feature in views --- InvenTree/build/templates/build/allocate.html | 2 +- InvenTree/build/templates/build/build_base.html | 3 ++- InvenTree/build/templates/build/index.html | 2 +- InvenTree/company/templates/company/company_base.html | 2 +- InvenTree/company/templates/company/index.html | 3 ++- .../company/templates/company/supplier_part_base.html | 3 ++- InvenTree/order/templates/order/order_base.html | 2 +- InvenTree/order/templates/order/purchase_orders.html | 2 +- InvenTree/order/templates/order/sales_order_base.html | 2 +- InvenTree/order/templates/order/sales_orders.html | 2 +- InvenTree/part/templates/part/part_app_base.html | 7 ++++--- InvenTree/stock/templates/stock/item_base.html | 2 +- InvenTree/stock/templates/stock/stock_app_base.html | 5 +++-- InvenTree/templates/InvenTree/search.html | 3 ++- InvenTree/templates/InvenTree/settings/global.html | 1 + InvenTree/templates/InvenTree/settings/settings.html | 3 ++- InvenTree/templates/base.html | 2 +- InvenTree/templates/registration/logged_out.html | 7 ++++--- InvenTree/templates/registration/login.html | 5 +++-- .../templates/registration/password_reset_complete.html | 7 ++++--- .../templates/registration/password_reset_confirm.html | 7 ++++--- InvenTree/templates/registration/password_reset_done.html | 7 ++++--- InvenTree/templates/registration/password_reset_form.html | 7 ++++--- 23 files changed, 50 insertions(+), 36 deletions(-) diff --git a/InvenTree/build/templates/build/allocate.html b/InvenTree/build/templates/build/allocate.html index 6efde49308..1b66f17d0d 100644 --- a/InvenTree/build/templates/build/allocate.html +++ b/InvenTree/build/templates/build/allocate.html @@ -4,7 +4,7 @@ {% load inventree_extras %} {% block page_title %} -InvenTree | Allocate Parts +{% inventree_title %} | {% trans "Allocate Parts" %} {% endblock %} {% block menubar %} diff --git a/InvenTree/build/templates/build/build_base.html b/InvenTree/build/templates/build/build_base.html index a8e5e53377..39fb099eda 100644 --- a/InvenTree/build/templates/build/build_base.html +++ b/InvenTree/build/templates/build/build_base.html @@ -3,9 +3,10 @@ {% load static %} {% load i18n %} {% load status_codes %} +{% load inventree_extras %} {% block page_title %} -InvenTree | {% trans "Build Order" %} - {{ build }} +{% inventree_title %} | {% trans "Build Order" %} - {{ build }} {% endblock %} {% block pre_content %} diff --git a/InvenTree/build/templates/build/index.html b/InvenTree/build/templates/build/index.html index f710928ee7..fbed17bfa3 100644 --- a/InvenTree/build/templates/build/index.html +++ b/InvenTree/build/templates/build/index.html @@ -5,7 +5,7 @@ {% load i18n %} {% block page_title %} -InvenTree | {% trans "Build Orders" %} +{% inventree_title %} | {% trans "Build Orders" %} {% endblock %} {% block content %} diff --git a/InvenTree/company/templates/company/company_base.html b/InvenTree/company/templates/company/company_base.html index 236cc58981..1825132b0e 100644 --- a/InvenTree/company/templates/company/company_base.html +++ b/InvenTree/company/templates/company/company_base.html @@ -6,7 +6,7 @@ {% block page_title %} -InvenTree | {% trans "Company" %} - {{ company.name }} +{% inventree_title %} | {% trans "Company" %} - {{ company.name }} {% endblock %} diff --git a/InvenTree/company/templates/company/index.html b/InvenTree/company/templates/company/index.html index ca2fa619d9..3a3168f24e 100644 --- a/InvenTree/company/templates/company/index.html +++ b/InvenTree/company/templates/company/index.html @@ -2,9 +2,10 @@ {% load static %} {% load i18n %} +{% load inventree_extras %} {% block page_title %} -InvenTree | {% trans "Supplier List" %} +{% inventree_title %} | {% trans "Supplier List" %} {% endblock %} {% block content %} diff --git a/InvenTree/company/templates/company/supplier_part_base.html b/InvenTree/company/templates/company/supplier_part_base.html index 00de1a9fb3..ce61fcfcba 100644 --- a/InvenTree/company/templates/company/supplier_part_base.html +++ b/InvenTree/company/templates/company/supplier_part_base.html @@ -1,9 +1,10 @@ {% extends "two_column.html" %} {% load static %} {% load i18n %} +{% load inventree_extras %} {% block page_title %} -InvenTree | {% trans "Supplier Part" %} +{% inventree_title %} | {% trans "Supplier Part" %} {% endblock %} {% block thumbnail %} diff --git a/InvenTree/order/templates/order/order_base.html b/InvenTree/order/templates/order/order_base.html index 130ebd4590..5dfc30796f 100644 --- a/InvenTree/order/templates/order/order_base.html +++ b/InvenTree/order/templates/order/order_base.html @@ -6,7 +6,7 @@ {% load status_codes %} {% block page_title %} -InvenTree | {% trans "Purchase Order" %} +{% inventree_title %} | {% trans "Purchase Order" %} {% endblock %} {% block thumbnail %} diff --git a/InvenTree/order/templates/order/purchase_orders.html b/InvenTree/order/templates/order/purchase_orders.html index 7256a1c499..9d15449abf 100644 --- a/InvenTree/order/templates/order/purchase_orders.html +++ b/InvenTree/order/templates/order/purchase_orders.html @@ -5,7 +5,7 @@ {% load i18n %} {% block page_title %} -InvenTree | {% trans "Purchase Orders" %} +{% inventree_title %} | {% trans "Purchase Orders" %} {% endblock %} {% block content %} diff --git a/InvenTree/order/templates/order/sales_order_base.html b/InvenTree/order/templates/order/sales_order_base.html index dfab8d1ae7..f0a71b8fec 100644 --- a/InvenTree/order/templates/order/sales_order_base.html +++ b/InvenTree/order/templates/order/sales_order_base.html @@ -6,7 +6,7 @@ {% load status_codes %} {% block page_title %} -InvenTree | {% trans "Sales Order" %} +{% inventree_title %} | {% trans "Sales Order" %} {% endblock %} {% block pre_content %} diff --git a/InvenTree/order/templates/order/sales_orders.html b/InvenTree/order/templates/order/sales_orders.html index bcaf6a019c..8ae538ffce 100644 --- a/InvenTree/order/templates/order/sales_orders.html +++ b/InvenTree/order/templates/order/sales_orders.html @@ -5,7 +5,7 @@ {% load i18n %} {% block page_title %} -InvenTree | {% trans "Sales Orders" %} +{% inventree_title %} | {% trans "Sales Orders" %} {% endblock %} {% block content %} diff --git a/InvenTree/part/templates/part/part_app_base.html b/InvenTree/part/templates/part/part_app_base.html index 94773f1e79..b3bd862fbd 100644 --- a/InvenTree/part/templates/part/part_app_base.html +++ b/InvenTree/part/templates/part/part_app_base.html @@ -1,14 +1,15 @@ {% extends "base.html" %} {% load static %} {% load i18n %} +{% load inventree_extras %} {% block page_title %} {% if part %} -InvenTree | {% trans "Part" %} - {{ part.full_name }} +{% inventree_title %} | {% trans "Part" %} - {{ part.full_name }} {% elif category %} -InvenTree | {% trans "Part Category" %} - {{ category }} +{% inventree_title %} | {% trans "Part Category" %} - {{ category }} {% else %} -InvenTree | {% trans "Part List" %} +{% inventree_title %} | {% trans "Part List" %} {% endif %} {% endblock %} diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index 04518a0c65..7294a17743 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -5,7 +5,7 @@ {% load i18n %} {% block page_title %} -InvenTree | {% trans "Stock Item" %} - {{ item }} +{% inventree_title %} | {% trans "Stock Item" %} - {{ item }} {% endblock %} {% block sidenav %} diff --git a/InvenTree/stock/templates/stock/stock_app_base.html b/InvenTree/stock/templates/stock/stock_app_base.html index dfe32c767d..209aea3956 100644 --- a/InvenTree/stock/templates/stock/stock_app_base.html +++ b/InvenTree/stock/templates/stock/stock_app_base.html @@ -1,12 +1,13 @@ {% extends "base.html" %} {% load static %} {% load i18n %} +{% load inventree_extras %} {% block page_title %} {% if location %} -InvenTree | {% trans "Stock Location" %} - {{ location }} +{% inventree_title %} | {% trans "Stock Location" %} - {{ location }} {% else %} -InvenTree | {% trans "Stock" %} +{% inventree_title %} | {% trans "Stock" %} {% endif %} {% endblock %} diff --git a/InvenTree/templates/InvenTree/search.html b/InvenTree/templates/InvenTree/search.html index b65ec00c00..efa5127385 100644 --- a/InvenTree/templates/InvenTree/search.html +++ b/InvenTree/templates/InvenTree/search.html @@ -2,9 +2,10 @@ {% load static %} {% load i18n %} +{% load inventree_extras %} {% block page_title %} -InvenTree | {% trans "Search Results" %} +{% inventree_title %} | {% trans "Search Results" %} {% endblock %} {% block content %} diff --git a/InvenTree/templates/InvenTree/settings/global.html b/InvenTree/templates/InvenTree/settings/global.html index c234bd1379..a0347490d0 100644 --- a/InvenTree/templates/InvenTree/settings/global.html +++ b/InvenTree/templates/InvenTree/settings/global.html @@ -16,6 +16,7 @@ {% include "InvenTree/settings/header.html" %} {% include "InvenTree/settings/setting.html" with key="INVENTREE_INSTANCE" icon="fa-info-circle" %} + {% include "InvenTree/settings/setting.html" with key="INVENTREE_INSTANCE_TITLE" icon="fa-info-circle" %} {% include "InvenTree/settings/setting.html" with key="INVENTREE_BASE_URL" icon="fa-globe" %} {% include "InvenTree/settings/setting.html" with key="INVENTREE_COMPANY_NAME" icon="fa-building" %} {% include "InvenTree/settings/setting.html" with key="INVENTREE_DEFAULT_CURRENCY" icon="fa-dollar-sign" %} diff --git a/InvenTree/templates/InvenTree/settings/settings.html b/InvenTree/templates/InvenTree/settings/settings.html index fe9fd00e53..f63860012c 100644 --- a/InvenTree/templates/InvenTree/settings/settings.html +++ b/InvenTree/templates/InvenTree/settings/settings.html @@ -2,9 +2,10 @@ {% load i18n %} {% load static %} +{% load inventree_extras %} {% block page_title %} -InvenTree | {% trans "Settings" %} +{% inventree_title %} | {% trans "Settings" %} {% endblock %} {% block content %} diff --git a/InvenTree/templates/base.html b/InvenTree/templates/base.html index 140971a8ce..8ccf691ef5 100644 --- a/InvenTree/templates/base.html +++ b/InvenTree/templates/base.html @@ -60,7 +60,7 @@ {% block page_title %} -InvenTree +{% inventree_title %} {% endblock %} diff --git a/InvenTree/templates/registration/logged_out.html b/InvenTree/templates/registration/logged_out.html index b23ba001e2..f5882c7ff1 100644 --- a/InvenTree/templates/registration/logged_out.html +++ b/InvenTree/templates/registration/logged_out.html @@ -1,6 +1,7 @@ {% load static %} {% load i18n %} -{% load crispy_forms_tags %} +{% load crispy_forms_tags %} +{% load inventree_extras %} @@ -29,7 +30,7 @@ - InvenTree + {% inventree_title %} @@ -42,7 +43,7 @@

diff --git a/InvenTree/templates/registration/login.html b/InvenTree/templates/registration/login.html index 37eda9a103..2032f62773 100644 --- a/InvenTree/templates/registration/login.html +++ b/InvenTree/templates/registration/login.html @@ -1,5 +1,6 @@ {% load static %} {% load i18n %} +{% load inventree_extras %} @@ -28,7 +29,7 @@ - InvenTree + {% inventree_title %} @@ -44,7 +45,7 @@

diff --git a/InvenTree/templates/registration/password_reset_complete.html b/InvenTree/templates/registration/password_reset_complete.html index 7fc83d85ba..a941aa6fee 100644 --- a/InvenTree/templates/registration/password_reset_complete.html +++ b/InvenTree/templates/registration/password_reset_complete.html @@ -1,6 +1,7 @@ {% load static %} {% load i18n %} -{% load crispy_forms_tags %} +{% load crispy_forms_tags %} +{% load inventree_extras %} @@ -29,7 +30,7 @@ - InvenTree + {% inventree_title %} @@ -42,7 +43,7 @@

diff --git a/InvenTree/templates/registration/password_reset_confirm.html b/InvenTree/templates/registration/password_reset_confirm.html index 455baea698..dd52cb135f 100644 --- a/InvenTree/templates/registration/password_reset_confirm.html +++ b/InvenTree/templates/registration/password_reset_confirm.html @@ -1,6 +1,7 @@ {% load static %} {% load i18n %} -{% load crispy_forms_tags %} +{% load crispy_forms_tags %} +{% load inventree_extras %} @@ -29,7 +30,7 @@ - InvenTree + {% inventree_title %} @@ -42,7 +43,7 @@

diff --git a/InvenTree/templates/registration/password_reset_done.html b/InvenTree/templates/registration/password_reset_done.html index 04e0aec69b..17a786f2a4 100644 --- a/InvenTree/templates/registration/password_reset_done.html +++ b/InvenTree/templates/registration/password_reset_done.html @@ -1,6 +1,7 @@ {% load static %} {% load i18n %} -{% load crispy_forms_tags %} +{% load crispy_forms_tags %} +{% load inventree_extras %} @@ -29,7 +30,7 @@ - InvenTree + {% inventree_title %} @@ -42,7 +43,7 @@

diff --git a/InvenTree/templates/registration/password_reset_form.html b/InvenTree/templates/registration/password_reset_form.html index dabada5651..a2c241b7d7 100644 --- a/InvenTree/templates/registration/password_reset_form.html +++ b/InvenTree/templates/registration/password_reset_form.html @@ -1,6 +1,7 @@ {% load static %} {% load i18n %} -{% load crispy_forms_tags %} +{% load crispy_forms_tags %} +{% load inventree_extras %} @@ -29,7 +30,7 @@ - InvenTree + {% inventree_title %} @@ -42,7 +43,7 @@

From e668577d975c18550e9f1d17c4283239b4068364 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 18 Apr 2021 12:31:17 +0200 Subject: [PATCH 03/40] fix as noted in #1481 --- InvenTree/common/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 2f82df7d92..bc2ca4214b 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -59,8 +59,8 @@ class InvenTreeSetting(models.Model): }, 'INVENTREE_INSTANCE_TITLE': { - 'name': _('Use Instance Name'), - 'description': _('Use the instance name in the Titel-Bar'), + 'name': _('Use instance name'), + 'description': _('Use the instance name in the title-bar'), 'validator': bool, 'default': False, }, From 98be42846cc35c59663f372f4610edc64a531086 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 28 Mar 2021 20:57:16 +1100 Subject: [PATCH 04/40] Update requirements --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index da6e219b96..48f4bbee2a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,11 @@ invoke>=1.4.0 # Invoke build tool wheel>=0.34.2 # Wheel -Django==3.0.7 # Django package +Django==3.1.7 # Django package pillow==8.1.1 # Image manipulation djangorestframework==3.11.2 # DRF framework django-dbbackup==3.3.0 # Database backup / restore functionality django-cors-headers==3.2.0 # CORS headers extension for DRF -django_filter==2.2.0 # Extended filtering options +django-filter==2.4.0 # Extended filtering options django-mptt==0.11.0 # Modified Preorder Tree Traversal django-sql-utils==0.5.0 # Advanced query annotation / aggregation django-markdownx==3.0.1 # Markdown form fields From 716ab4872ad8e5a083315db1dcf6b0f88da4d091 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 19 Apr 2021 10:48:19 +0000 Subject: [PATCH 05/40] Bump django from 3.1.7 to 3.1.8 Bumps [django](https://github.com/django/django) from 3.1.7 to 3.1.8. - [Release notes](https://github.com/django/django/releases) - [Commits](https://github.com/django/django/compare/3.1.7...3.1.8) Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 48f4bbee2a..75bce438f6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ invoke>=1.4.0 # Invoke build tool wheel>=0.34.2 # Wheel -Django==3.1.7 # Django package +Django==3.1.8 # Django package pillow==8.1.1 # Image manipulation djangorestframework==3.11.2 # DRF framework django-dbbackup==3.3.0 # Database backup / restore functionality From 252abb920f45e6dcb2ccf547a6657fb9757777c8 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 19 Apr 2021 20:49:24 +1000 Subject: [PATCH 06/40] Do not print EMAIL warning if in TEST mode --- InvenTree/InvenTree/status.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/InvenTree/InvenTree/status.py b/InvenTree/InvenTree/status.py index e9846e445a..5531d4c270 100644 --- a/InvenTree/InvenTree/status.py +++ b/InvenTree/InvenTree/status.py @@ -56,17 +56,26 @@ def is_email_configured(): configured = True if not settings.EMAIL_HOST: - logger.warning("EMAIL_HOST is not configured") configured = False + # Display warning unless in test mode + if not settings.TESTING: + logger.warning("EMAIL_HOST is not configured") + if not settings.EMAIL_HOST_USER: - logger.warning("EMAIL_HOST_USER is not configured") configured = False + + # Display warning unless in test mode + if not settings.TESTING: + logger.warning("EMAIL_HOST_USER is not configured") if not settings.EMAIL_HOST_PASSWORD: - logger.warning("EMAIL_HOST_PASSWORD is not configured") configured = False + # Display warning unless in test mode + if not settings.TESTING: + logger.warning("EMAIL_HOST_PASSWORD is not configured") + return configured From 2dbd61c6113aede918605871f4fce69a800d3eaf Mon Sep 17 00:00:00 2001 From: eeintech Date: Mon, 19 Apr 2021 11:25:39 -0400 Subject: [PATCH 07/40] Stock return to customer fix, stock children item table fix --- InvenTree/stock/models.py | 1 + InvenTree/stock/templates/stock/item_childs.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index ed86a807e1..7d9520a544 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -634,6 +634,7 @@ class StockItem(MPTTModel): self.customer = None self.location = location + self.sales_order = None self.save() diff --git a/InvenTree/stock/templates/stock/item_childs.html b/InvenTree/stock/templates/stock/item_childs.html index eaa6eef1e3..f5d80e5ad1 100644 --- a/InvenTree/stock/templates/stock/item_childs.html +++ b/InvenTree/stock/templates/stock/item_childs.html @@ -30,7 +30,7 @@ loadStockTable($("#stock-table"), { params: { location_detail: true, - part_details: true, + part_detail: false, ancestor: {{ item.id }}, }, name: 'item-childs', From 12f1fb952673256cc3cb47b9c0ae8d75ad54dae8 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 08:15:43 +1000 Subject: [PATCH 08/40] Update to django 3.2 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 75bce438f6..e942698d50 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ invoke>=1.4.0 # Invoke build tool wheel>=0.34.2 # Wheel -Django==3.1.8 # Django package +Django==3.2 # Django package pillow==8.1.1 # Image manipulation djangorestframework==3.11.2 # DRF framework django-dbbackup==3.3.0 # Database backup / restore functionality From 6b9145ae56807d82480f57cfeacc8485491a96c3 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 09:14:08 +1000 Subject: [PATCH 09/40] Fixes required for v3.2 compatibility - Specify DEFAULT_AUTO_FIELD - Specify output_field for annotations --- InvenTree/InvenTree/settings.py | 3 +++ InvenTree/build/models.py | 8 +++++++- InvenTree/part/models.py | 11 +++++++---- requirements.txt | 4 ++-- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index b1256dccee..366fc9c6ee 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -52,6 +52,9 @@ def get_setting(environment_var, backup_val, default_value=None): # Determine if we are running in "test" mode e.g. "manage.py test" TESTING = 'test' in sys.argv +# New requirement for django 3.2+ +DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' + # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 4ee8de0d73..5a23752071 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -807,7 +807,13 @@ class Build(MPTTModel): allocations = self.allocatedItems(part, output) - allocated = allocations.aggregate(q=Coalesce(Sum('quantity'), 0)) + allocated = allocations.aggregate( + q=Coalesce( + Sum('quantity'), + 0, + output_field=models.DecimalField(), + ) + ) return allocated['q'] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index bd02672b3e..be2d31063f 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -1189,10 +1189,13 @@ 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(), + ], + output_field=models.DecimalField() + ) def stock_entries(self, include_variants=True, in_stock=None): """ Return all stock entries for this Part. diff --git a/requirements.txt b/requirements.txt index e942698d50..1392531e29 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ invoke>=1.4.0 # Invoke build tool wheel>=0.34.2 # Wheel Django==3.2 # Django package pillow==8.1.1 # Image manipulation -djangorestframework==3.11.2 # DRF framework +djangorestframework==3.12.4 # DRF framework django-dbbackup==3.3.0 # Database backup / restore functionality django-cors-headers==3.2.0 # CORS headers extension for DRF django-filter==2.4.0 # Extended filtering options @@ -13,7 +13,7 @@ django-markdownify==0.8.0 # Markdown rendering coreapi==2.3.0 # API documentation pygments==2.7.4 # Syntax highlighting tablib==0.13.0 # Import / export data files -django-crispy-forms==1.8.1 # Form helpers +django-crispy-forms==1.11.2 # Form helpers django-import-export==2.0.0 # Data import / export for admin interface django-cleanup==5.1.0 # Manage deletion of old / unused uploaded files flake8==3.8.3 # PEP checking From 0fbf39f1bce17670bba3c1c98e53e71aa97ae3e1 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 10:59:28 +1000 Subject: [PATCH 10/40] More fixes --- InvenTree/part/models.py | 23 ++++++++++++++++++++--- InvenTree/part/serializers.py | 8 +++++++- InvenTree/users/models.py | 4 +++- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index be2d31063f..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'] @@ -1194,7 +1212,6 @@ class Part(MPTTModel): self.build_order_allocation_count(), self.sales_order_allocation_count(), ], - output_field=models.DecimalField() ) def stock_entries(self, include_variants=True, in_stock=None): 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/users/models.py b/InvenTree/users/models.py index 55f2b00007..73388a88bc 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -57,6 +57,7 @@ class RuleSet(models.Model): 'auth_user', 'auth_permission', 'authtoken_token', + 'authtoken_tokenproxy', 'users_ruleset', ], 'part_category': [ @@ -199,7 +200,8 @@ class RuleSet(models.Model): if check_user_role(user, role, permission): return True - print("failed permission check for", table, permission) + # Print message instead of throwing an error + print("Failed permission check for", table, permission) return False @staticmethod From f578f680017467f88699f7733d1ede145d26f70d Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 19:30:43 +1000 Subject: [PATCH 11/40] Split "part category" view into separate pages --- InvenTree/part/templates/part/category.html | 28 +++----- .../part/templates/part/category_navbar.html | 17 +++++ .../templates/part/category_subcategory.html | 42 +++++++++++ .../part/templates/part/subcategories.html | 22 ------ InvenTree/part/urls.py | 29 +++++--- InvenTree/templates/js/part.js | 70 +++++++++++++++++++ 6 files changed, 156 insertions(+), 52 deletions(-) create mode 100644 InvenTree/part/templates/part/category_subcategory.html delete mode 100644 InvenTree/part/templates/part/subcategories.html 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 %} -
+{% block category_content %} +
+{% endblock %} + {% block category_tables %} {% endblock category_tables %} @@ -162,24 +164,10 @@ {% block js_ready %} {{ block.super }} - {% if category %} enableNavbar({ label: 'category', toggleId: '#category-menu-toggle', }); - {% endif %} - - if (inventreeLoadInt("show-part-cats") == 1) { - $("#collapse-item-categories").collapse('show'); - } - - $("#collapse-item-categories").on('shown.bs.collapse', function() { - inventreeSave('show-part-cats', 1); - }); - - $("#collapse-item-categories").on('hidden.bs.collapse', function() { - inventreeDel('show-part-cats'); - }); $("#cat-create").click(function() { launchModalForm( diff --git a/InvenTree/part/templates/part/category_navbar.html b/InvenTree/part/templates/part/category_navbar.html index 9374ecaaf1..e723db358d 100644 --- a/InvenTree/part/templates/part/category_navbar.html +++ b/InvenTree/part/templates/part/category_navbar.html @@ -8,17 +8,34 @@ +
  • + {% if category %} + + {% else %} + + {% endif %} + + {% trans "Subcategories" %} + +
  • +
  • + {% if category %} + {% else %} + + {% endif %} {% trans "Parts" %}
  • + {% if category %}
  • {% trans "Parameters" %}
  • + {% endif %} \ No newline at end of file diff --git a/InvenTree/part/templates/part/category_subcategory.html b/InvenTree/part/templates/part/category_subcategory.html new file mode 100644 index 0000000000..e45e01499a --- /dev/null +++ b/InvenTree/part/templates/part/category_subcategory.html @@ -0,0 +1,42 @@ +{% extends "part/category.html" %} + +{% load i18n %} +{% load inventree_extras %} +{% load static %} + +{% block menubar %} +{% include 'part/category_navbar.html' with tab='subcategories' %} +{% endblock %} + +{% block category_content %} + +
    + +
    +

    {% trans "Subcategories" %}

    +
    + +
    + +
    +{% endblock %} + +{% block js_ready %} +{{ block.super }} + + enableNavbar({ + label: 'category', + toggleId: '#category-menu-toggle', + }); + + loadPartCategoryTable($('#subcategory-table'), { + params: { + {% if category %} + parent: {{ category.pk }} + {% else %} + parent: 'null' + {% endif %} + } + }); + +{% endblock %} diff --git a/InvenTree/part/templates/part/subcategories.html b/InvenTree/part/templates/part/subcategories.html deleted file mode 100644 index 5e6b570217..0000000000 --- a/InvenTree/part/templates/part/subcategories.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "collapse.html" %} -{% load i18n %} - -{% block collapse_title %} -{{ children | length }} {% trans 'Child Categories' %} -{% endblock %} - -{% block collapse_content %} -
      -{% for child in children %} -
    • - {{ child.name }} - {% if child.description %} - - {{ child.description }} - {% endif %} - {% if child.partcount > 0 %} - {{ child.partcount }} {% trans 'Part' %}{% if child.partcount > 1 %}s{% endif %} - {% endif %} -
    • -{% endfor %} -
    -{% endblock %} \ No newline at end of file diff --git a/InvenTree/part/urls.py b/InvenTree/part/urls.py index f1185fbe8c..b8f80d4845 100644 --- a/InvenTree/part/urls.py +++ b/InvenTree/part/urls.py @@ -88,14 +88,26 @@ category_parameter_urls = [ url(r'^(?P\d+)/delete/', views.CategoryParameterTemplateDelete.as_view(), name='category-param-template-delete'), ] -part_category_urls = [ - url(r'^edit/?', views.CategoryEdit.as_view(), name='category-edit'), - url(r'^delete/?', views.CategoryDelete.as_view(), name='category-delete'), +category_urls = [ - url(r'^parameters/', include(category_parameter_urls)), + # Create a new category + url(r'^new/', views.CategoryCreate.as_view(), name='category-create'), - url(r'^parametric/?', views.CategoryParametric.as_view(), name='category-parametric'), - url(r'^.*$', views.CategoryDetail.as_view(), name='category-detail'), + # Top level subcategory display + url(r'^subcategory/', views.PartIndex.as_view(template_name='part/category_subcategory.html'), name='category-index-subcategory'), + + # Category detail views + url(r'(?P\d+)/', include([ + url(r'^edit/', views.CategoryEdit.as_view(), name='category-edit'), + url(r'^delete/', views.CategoryDelete.as_view(), name='category-delete'), + url(r'^parameters/', include(category_parameter_urls)), + + url(r'^subcategory/', views.CategoryDetail.as_view(template_name='part/category_subcategory.html'), name='category-subcategory'), + url(r'^parametric/', views.CategoryParametric.as_view(), name='category-parametric'), + + # Anything else + url(r'^.*$', views.CategoryDetail.as_view(), name='category-detail'), + ])) ] part_bom_urls = [ @@ -106,9 +118,6 @@ part_bom_urls = [ # URL list for part web interface part_urls = [ - # Create a new category - url(r'^category/new/?', views.CategoryCreate.as_view(), name='category-create'), - # Create a new part url(r'^new/?', views.PartCreate.as_view(), name='part-create'), @@ -125,7 +134,7 @@ part_urls = [ url(r'^(?P\d+)/', include(part_detail_urls)), # Part category - url(r'^category/(?P\d+)/', include(part_category_urls)), + url(r'^category/', include(category_urls)), # Part related url(r'^related-parts/', include(part_related_urls)), diff --git a/InvenTree/templates/js/part.js b/InvenTree/templates/js/part.js index cefc2af8a7..b7e052ce72 100644 --- a/InvenTree/templates/js/part.js +++ b/InvenTree/templates/js/part.js @@ -1,4 +1,5 @@ {% load i18n %} +{% load inventree_extras %} /* Part API functions * Requires api.js to be loaded first @@ -506,6 +507,75 @@ function loadPartTable(table, url, options={}) { }); } + +function loadPartCategoryTable(table, options) { + /* Display a table of part categories */ + + var params = options.params || {}; + + var filterListElement = options.filterList || '#filter-list-category'; + + var filters = {}; + + var filterKey = options.filterKey || options.name || 'category'; + + if (!options.disableFilters) { + filters = loadTableFilters(filterKey); + } + + var original = {}; + + for (var key in params) { + original[key] = params[key]; + filters[key] = params[key]; + } + + setupFilterList(filterKey, table, filterListElement); + + table.inventreeTable({ + method: 'get', + url: options.url || '{% url "api-part-category-list" %}', + queryParams: filters, + sidePagination: 'server', + name: 'category', + original: original, + showColumns: true, + columns: [ + { + checkbox: true, + title: '{% trans "Select" %}', + searchable: false, + switchable: false, + }, + { + field: 'name', + title: '{% trans "Name" %}', + switchable: true, + sortable: true, + formatter: function(value, row) { + return renderLink( + value, + `/part/category/${row.pk}/` + ); + } + }, + { + field: 'description', + title: '{% trans "Description" %}', + switchable: true, + sortable: false, + }, + { + field: 'parts', + title: '{% trans "Parts" %}', + switchable: true, + sortable: false, + } + ] + }); +} + + function yesNoLabel(value) { if (value) { return `{% trans "YES" %}`; From 6986709fb899f43724647f9ea891ce6b578c2444 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 19:49:07 +1000 Subject: [PATCH 12/40] Reorganized stock location view --- InvenTree/stock/api.py | 5 ++ InvenTree/stock/serializers.py | 1 + InvenTree/stock/templates/stock/location.html | 42 +++++------ .../stock/templates/stock/location_list.html | 24 ------- .../templates/stock/location_navbar.html | 33 +++++++++ .../stock/templates/stock/sublocation.html | 36 ++++++++++ InvenTree/stock/urls.py | 27 ++++--- InvenTree/templates/js/stock.js | 71 +++++++++++++++++++ 8 files changed, 184 insertions(+), 55 deletions(-) delete mode 100644 InvenTree/stock/templates/stock/location_list.html create mode 100644 InvenTree/stock/templates/stock/location_navbar.html create mode 100644 InvenTree/stock/templates/stock/sublocation.html diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 6da3962224..2667352515 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -320,6 +320,11 @@ class StockLocationList(generics.ListCreateAPIView): 'description', ] + ordering_fields = [ + 'name', + 'items', + ] + class StockList(generics.ListCreateAPIView): """ API endpoint for list view of Stock objects diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 5b00c1dd17..2439bb9330 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -244,6 +244,7 @@ class LocationSerializer(InvenTreeModelSerializer): items = serializers.IntegerField(source='item_count', read_only=True) + class Meta: model = StockLocation fields = [ diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index 74e43f88bb..396a433566 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -2,8 +2,15 @@ {% load static %} {% load inventree_extras %} {% load i18n %} + +{% block menubar %} +{% include "stock/location_navbar.html" with tab="stock" %} +{% endblock %} + {% block content %} +
    + {% setting_object 'STOCK_OWNERSHIP_CONTROL' as owner_control %} {% if owner_control.value == "True" %} {% authorized_owners location.owner as owners %} @@ -120,36 +127,29 @@
    +
    -{% if location and location.children.all|length > 0 %} -{% include 'stock/location_list.html' with children=location.children.all collapse_id="locations" %} -{% elif locations|length > 0 %} -{% include 'stock/location_list.html' with children=locations collapse_id="locations" %} -{% endif %} +{% block location_content %} -
    - -{% include "stock_table.html" %} +
    +
    +

    {% trans "Stock Items" %}

    +
    + {% include "stock_table.html" %}
    {% endblock %} -{% block js_load %} -{{ block.super }} +
    + {% endblock %} + {% block js_ready %} {{ block.super }} - if (inventreeLoadInt("show-part-locs") == 1) { - $("#collapse-item-locations").collapse('show'); - } - - $("#collapse-item-locations").on('shown.bs.collapse', function() { - inventreeSave('show-part-locs', 1); - }); - - $("#collapse-item-locations").on('hidden.bs.collapse', function() { - inventreeDel('show-part-locs'); + enableNavbar({ + label: 'location', + toggleId: '#location-menu-toggle' }); {% if location %} @@ -261,7 +261,7 @@ ], params: { {% if location %} - location: {{ location.id }}, + location: {{ location.pk }}, {% endif %} part_detail: true, location_detail: true, diff --git a/InvenTree/stock/templates/stock/location_list.html b/InvenTree/stock/templates/stock/location_list.html deleted file mode 100644 index f9464c5fa3..0000000000 --- a/InvenTree/stock/templates/stock/location_list.html +++ /dev/null @@ -1,24 +0,0 @@ -{% extends "collapse.html" %} -{% load i18n %} - -{% if roles.stock_location.view or roles.stock.view %} -{% block collapse_title %} -{% trans 'Sub-Locations' %}{{ children|length }} -{% endblock %} - -{% block collapse_content %} -
      -{% for child in children %} -
    • {{ child.name }} - {{ child.description }} - {% if child.item_count > 0 %} - - - {% comment %}Translators: pluralize with counter{% endcomment %} - {% blocktrans count counter=child.item_count %}{{ counter }} Item{% plural %}{{ counter }} Items{% endblocktrans %} - - {% endif %} -
    • -{% endfor %} -
    -{% endblock %} -{% endif %} \ No newline at end of file diff --git a/InvenTree/stock/templates/stock/location_navbar.html b/InvenTree/stock/templates/stock/location_navbar.html new file mode 100644 index 0000000000..0cb0c9d1eb --- /dev/null +++ b/InvenTree/stock/templates/stock/location_navbar.html @@ -0,0 +1,33 @@ +{% load i18n %} + + \ No newline at end of file diff --git a/InvenTree/stock/templates/stock/sublocation.html b/InvenTree/stock/templates/stock/sublocation.html new file mode 100644 index 0000000000..b8b32328a2 --- /dev/null +++ b/InvenTree/stock/templates/stock/sublocation.html @@ -0,0 +1,36 @@ +{% extends "stock/location.html" %} + +{% load static %} +{% load i18n %} +{% load inventree_extras %} + +{% block menubar %} +{% include "stock/location_navbar.html" with tab="sublocations" %} +{% endblock %} + + +{% block location_content %} + +
    +
    +

    {% trans "Sublocations" %}

    +
    +
    +
    + +{% endblock %} + +{% block js_ready %} +{{ block.super }} + +loadStockLocationTable($('#sublocation-table'), { + params: { + {% if location %} + parent: {{ location.pk }}, + {% else %} + parent: 'null', + {% endif %} + } +}); + +{% endblock %} \ No newline at end of file diff --git a/InvenTree/stock/urls.py b/InvenTree/stock/urls.py index 5c6c678978..24e609fa4f 100644 --- a/InvenTree/stock/urls.py +++ b/InvenTree/stock/urls.py @@ -6,14 +6,21 @@ from django.conf.urls import url, include from . import views -# URL list for web interface -stock_location_detail_urls = [ - url(r'^edit/?', views.StockLocationEdit.as_view(), name='stock-location-edit'), - url(r'^delete/?', views.StockLocationDelete.as_view(), name='stock-location-delete'), - url(r'^qr_code/?', views.StockLocationQRCode.as_view(), name='stock-location-qr'), +location_urls = [ + + url(r'^new/', views.StockLocationCreate.as_view(), name='stock-location-create'), + + url(r'^(?P\d+)/', include([ + url(r'^edit/?', views.StockLocationEdit.as_view(), name='stock-location-edit'), + url(r'^delete/?', views.StockLocationDelete.as_view(), name='stock-location-delete'), + url(r'^qr_code/?', views.StockLocationQRCode.as_view(), name='stock-location-qr'), + + url(r'sublocation/', views.StockLocationDetail.as_view(template_name='stock/sublocation.html'), name='stock-location-sublocation'), + + # Anything else + url('^.*$', views.StockLocationDetail.as_view(), name='stock-location-detail'), + ])), - # Anything else - url('^.*$', views.StockLocationDetail.as_view(), name='stock-location-detail'), ] stock_item_detail_urls = [ @@ -49,9 +56,7 @@ stock_tracking_urls = [ stock_urls = [ # Stock location - url(r'^location/(?P\d+)/', include(stock_location_detail_urls)), - - url(r'^location/new/', views.StockLocationCreate.as_view(), name='stock-location-create'), + url(r'^location/', include(location_urls)), url(r'^item/new/?', views.StockItemCreate.as_view(), name='stock-item-create'), @@ -81,5 +86,7 @@ stock_urls = [ # Individual stock items url(r'^item/(?P\d+)/', include(stock_item_detail_urls)), + url(r'^sublocations/', views.StockIndex.as_view(template_name='stock/sublocation.html'), name='stock-sublocations'), + url(r'^.*$', views.StockIndex.as_view(), name='stock-index'), ] diff --git a/InvenTree/templates/js/stock.js b/InvenTree/templates/js/stock.js index 33f2dae8d6..990acf65ba 100644 --- a/InvenTree/templates/js/stock.js +++ b/InvenTree/templates/js/stock.js @@ -897,6 +897,77 @@ function loadStockTable(table, options) { }); } +function loadStockLocationTable(table, options) { + /* Display a table of stock locations */ + + var params = options.params || {}; + + var filterListElement = options.filterList || '#filter-list-location'; + + var filters = {}; + + var filterKey = options.filterKey || options.name || 'location'; + + if (!options.disableFilters) { + filters = loadTableFilters(filterKey); + } + + var original = {}; + + for (var key in params) { + original[key] = params[key]; + } + + setupFilterList(filterKey, table, filterListElement); + + for (var key in params) { + filters[key] = params[key]; + } + + table.inventreeTable({ + method: 'get', + url: options.url || '{% url "api-location-list" %}', + queryParams: filters, + sidePagination: 'server', + name: 'location', + original: original, + showColumns: true, + columns: [ + { + checkbox: true, + title: '{% trans "Select" %}', + searchable: false, + switchable: false, + }, + { + field: 'name', + title: '{% trans "Name" %}', + switchable: true, + sortable: true, + formatter: function(value, row) { + return renderLink( + value, + `/stock/location/${row.pk}/` + ); + }, + }, + { + field: 'description', + title: '{% trans "Description" %}', + switchable: true, + sortable: false, + }, + { + field: 'items', + title: '{% trans "Stock Items" %}', + switchable: true, + sortable: false, + sortName: 'item_count', + } + ] + }); +} + function loadStockTrackingTable(table, options) { var cols = [ From 412b05d76c1b4b426b3c020c583bad4937c9ea4c Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 20:00:15 +1000 Subject: [PATCH 13/40] Allow API filtering by "cascading" stock locations --- InvenTree/stock/api.py | 37 +++++++++++++------ .../stock/templates/stock/sublocation.html | 11 +++++- InvenTree/templates/js/stock.js | 6 +++ InvenTree/templates/js/table_filters.js | 22 +++++++++++ 4 files changed, 64 insertions(+), 12 deletions(-) diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 2667352515..0238a62c63 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -289,20 +289,35 @@ class StockLocationList(generics.ListCreateAPIView): queryset = super().get_queryset() - loc_id = self.request.query_params.get('parent', None) + params = self.request.query_params - if loc_id is not None: + cascade = str2bool(params.get('cascade', False)) - # Look for top-level locations - if isNull(loc_id): + loc_id = params.get('parent', None) + + # Look for top-level locations + if isNull(loc_id): + + # If we allow "cascade" at the top-level, this essentially means *all* locations + if not cascade: queryset = queryset.filter(parent=None) - - else: - try: - loc_id = int(loc_id) - queryset = queryset.filter(parent=loc_id) - except ValueError: - pass + + else: + + try: + location = StockLocation.objects.get(pk=loc_id) + + # All sub-locations to be returned too? + if cascade: + parents = location.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=location) + + except (ValueError, StockLocation.DoesNotExist): + pass return queryset diff --git a/InvenTree/stock/templates/stock/sublocation.html b/InvenTree/stock/templates/stock/sublocation.html index b8b32328a2..c5a6062064 100644 --- a/InvenTree/stock/templates/stock/sublocation.html +++ b/InvenTree/stock/templates/stock/sublocation.html @@ -15,7 +15,16 @@

    {% trans "Sublocations" %}

    -
    + +
    +
    + +
    +
    + +
    +
    +
    {% endblock %} diff --git a/InvenTree/templates/js/stock.js b/InvenTree/templates/js/stock.js index 990acf65ba..c10e432f5e 100644 --- a/InvenTree/templates/js/stock.js +++ b/InvenTree/templates/js/stock.js @@ -957,6 +957,12 @@ function loadStockLocationTable(table, options) { switchable: true, sortable: false, }, + { + field: 'pathstring', + title: '{% trans "Path" %}', + switchable: true, + sortable: false, + }, { field: 'items', title: '{% trans "Stock Items" %}', diff --git a/InvenTree/templates/js/table_filters.js b/InvenTree/templates/js/table_filters.js index ba73244c74..775f0d9803 100644 --- a/InvenTree/templates/js/table_filters.js +++ b/InvenTree/templates/js/table_filters.js @@ -62,6 +62,28 @@ function getAvailableTableFilters(tableKey) { }; } + // Filters for "stock location" table + if (tableKey == "location") { + return { + cascade: { + type: 'bool', + title: '{% trans "Include sublocations" %}', + description: '{% trans "Include locations" %}', + } + }; + } + + // Filters for "part category" table + if (tableKey == "category") { + return { + cascade: { + type: 'bool', + title: '{% trans "Include subcategories" %}', + description: '{% trans "Include subcategories" %}', + } + }; + } + // Filters for the "customer stock" table (really a subset of "stock") if (tableKey == "customerstock") { return { From 38eea21f4f9bcfab23993d5999899a42f56f6a62 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 20:06:13 +1000 Subject: [PATCH 14/40] Enable printing of multiple stock location labels --- .../stock/templates/stock/sublocation.html | 36 ++++++++++++++++--- InvenTree/templates/stock_table.html | 1 + 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/InvenTree/stock/templates/stock/sublocation.html b/InvenTree/stock/templates/stock/sublocation.html index c5a6062064..d38539f842 100644 --- a/InvenTree/stock/templates/stock/sublocation.html +++ b/InvenTree/stock/templates/stock/sublocation.html @@ -18,10 +18,18 @@
    - -
    -
    - + + +
    + +
    @@ -42,4 +50,24 @@ loadStockLocationTable($('#sublocation-table'), { } }); +linkButtonsToSelection( + $('#sublocation-table'), + [ + '#location-print-options', + ] +); + +$('#multi-location-print-label').click(function() { + + var selections = $('#sublocation-table').bootstrapTable('getSelections'); + + var locations = []; + + selections.forEach(function(loc) { + locations.push(loc.pk); + }); + + printStockLocationLabels(locations); +}) + {% endblock %} \ No newline at end of file diff --git a/InvenTree/templates/stock_table.html b/InvenTree/templates/stock_table.html index 8eff0f4aed..1f54767f02 100644 --- a/InvenTree/templates/stock_table.html +++ b/InvenTree/templates/stock_table.html @@ -32,6 +32,7 @@
    {% endif %} +
    +
    diff --git a/InvenTree/templates/js/part.js b/InvenTree/templates/js/part.js index b7e052ce72..e3e7190952 100644 --- a/InvenTree/templates/js/part.js +++ b/InvenTree/templates/js/part.js @@ -546,6 +546,7 @@ function loadPartCategoryTable(table, options) { title: '{% trans "Select" %}', searchable: false, switchable: false, + visible: false, }, { field: 'name', @@ -565,6 +566,12 @@ function loadPartCategoryTable(table, options) { switchable: true, sortable: false, }, + { + field: 'pathstring', + title: '{% trans "Path" %}', + switchable: true, + sortable: false, + }, { field: 'parts', title: '{% trans "Parts" %}', From fd3e59650a84a8f61c21ade53fca685547632ccd Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 20:15:51 +1000 Subject: [PATCH 16/40] Style fixes --- InvenTree/stock/api.py | 4 ++-- InvenTree/stock/serializers.py | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 08599ea858..a76fd801bd 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -291,9 +291,9 @@ class StockLocationList(generics.ListCreateAPIView): params = self.request.query_params - cascade = str2bool(params.get('cascade', False)) - loc_id = params.get('parent', None) + + cascade = str2bool(params.get('cascade', False)) # Look for top-level locations if isNull(loc_id): diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 2439bb9330..5b00c1dd17 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -244,7 +244,6 @@ class LocationSerializer(InvenTreeModelSerializer): items = serializers.IntegerField(source='item_count', read_only=True) - class Meta: model = StockLocation fields = [ From 2bb86ff22be3fc3d39b78bcdbed000926e0d9bf7 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 20:20:00 +1000 Subject: [PATCH 17/40] Adds missing template file --- .../part/templates/part/subcategory.html | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 InvenTree/part/templates/part/subcategory.html diff --git a/InvenTree/part/templates/part/subcategory.html b/InvenTree/part/templates/part/subcategory.html new file mode 100644 index 0000000000..9bb8fe98b7 --- /dev/null +++ b/InvenTree/part/templates/part/subcategory.html @@ -0,0 +1,51 @@ +{% extends "part/category.html" %} + +{% load i18n %} +{% load inventree_extras %} +{% load static %} + +{% block menubar %} +{% include 'part/category_navbar.html' with tab='subcategories' %} +{% endblock %} + +{% block category_content %} + +
    + +
    +

    {% trans "Subcategories" %}

    +
    + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +{% endblock %} + +{% block js_ready %} +{{ block.super }} + + enableNavbar({ + label: 'category', + toggleId: '#category-menu-toggle', + }); + + loadPartCategoryTable($('#subcategory-table'), { + params: { + {% if category %} + parent: {{ category.pk }} + {% else %} + parent: 'null' + {% endif %} + } + }); + +{% endblock %} From 4d1eb51bc429a50110ae5a4779fa6809472bc282 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 20:42:55 +1000 Subject: [PATCH 18/40] Fixes --- InvenTree/part/api.py | 5 ++++- InvenTree/part/test_api.py | 44 +++++++++++++++++++++++++++++++++++++- InvenTree/stock/api.py | 5 ++++- 3 files changed, 51 insertions(+), 3 deletions(-) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 0ce7c7d5a6..a2d7609bed 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -74,8 +74,11 @@ class CategoryList(generics.ListCreateAPIView): cascade = str2bool(params.get('cascade', False)) + # Do not filter by category + if cat_id is None: + pass # Look for top-level categories - if isNull(cat_id): + elif isNull(cat_id): if not cascade: queryset = queryset.filter(parent=None) diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index ed88e1dd55..4389003544 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -37,12 +37,54 @@ class PartAPITest(InvenTreeAPITestCase): super().setUp() def test_get_categories(self): - """ Test that we can retrieve list of part categories """ + """ + Test that we can retrieve list of part categories, + with various filtering options. + """ + url = reverse('api-part-category-list') + + # Request *all* part categories response = self.client.get(url, format='json') + self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), 8) + # Request top-level part categories only + response = self.client.get( + url, + { + 'parent': 'null', + }, + format='json' + ) + + self.assertEqual(len(response.data), 2) + + # Children of PartCategory<1>, cascade + response = self.client.get( + url, + { + 'parent': 1, + 'cascade': 'true', + }, + format='json', + ) + + self.assertEqual(len(response.data), 5) + + # Children of PartCategory<1>, do not cascade + response = self.client.get( + url, + { + 'parent': 1, + 'cascade': 'false', + }, + format='json', + ) + + self.assertEqual(len(response.data), 3) + def test_add_categories(self): """ Check that we can add categories """ data = { diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index a76fd801bd..0e64cecdbd 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -295,8 +295,11 @@ class StockLocationList(generics.ListCreateAPIView): cascade = str2bool(params.get('cascade', False)) + # Do not filter by location + if loc_id is None: + pass # Look for top-level locations - if isNull(loc_id): + elif isNull(loc_id): # If we allow "cascade" at the top-level, this essentially means *all* locations if not cascade: From 2943dc60832c04e60b358359be63d006588c0e5d Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 20 Apr 2021 13:37:19 +0200 Subject: [PATCH 19/40] initial implementation as in #1485 --- .gitignore | 1 + .../management/commands/prerender.py | 63 +++++++++++++++++++ InvenTree/InvenTree/settings.py | 11 ++++ .../part/templatetags/inventree_extras.py | 29 +++++++++ InvenTree/templates/base.html | 29 ++++----- tasks.py | 1 + 6 files changed, 120 insertions(+), 14 deletions(-) create mode 100644 InvenTree/InvenTree/management/commands/prerender.py diff --git a/.gitignore b/.gitignore index b648ad00b9..eaa9e5574d 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,7 @@ docs/_build # Local static and media file storage (only when running in development mode) inventree_media inventree_static +static_i18n # Local config file config.yaml diff --git a/InvenTree/InvenTree/management/commands/prerender.py b/InvenTree/InvenTree/management/commands/prerender.py new file mode 100644 index 0000000000..b80f35d421 --- /dev/null +++ b/InvenTree/InvenTree/management/commands/prerender.py @@ -0,0 +1,63 @@ +""" +Custom management command to prerender files +""" + +import django +from django.core.management.base import BaseCommand +from django.conf import settings +from django.template.loader import render_to_string +from django.utils.module_loading import import_string +from django.http.request import HttpRequest +from django.utils.translation import override as lang_over + +import time +import os + + +def render_file(file_name, source, target, locales, ctx): + """ renders a file into all provided locales """ + for locale in locales: + target_file = os.path.join(target, locale + '.' + file_name) + with open(target_file, 'w') as localised_file: + with lang_over(locale): + renderd = render_to_string(os.path.join(source, file_name), ctx) + localised_file.write(renderd) + + +class Command(BaseCommand): + """ + django command to prerender files + """ + + def handle(self, *args, **kwargs): + # static directorys + LC_DIR = settings.LOCALE_PATHS[0] + SOURCE_DIR = settings.STATICFILES_I18_SRC + TARTGET_DIR = settings.STATICFILES_I18_TRG + + # ensure static directory exists + if not os.path.exists(TARTGET_DIR): + os.mkdir(TARTGET_DIR) + + # collect locales + locales = {} + for locale in os.listdir(LC_DIR): + path = os.path.join(LC_DIR, locale) + if os.path.exists(path) and os.path.isdir(path): + locales[locale] = locale + + # render! + request = HttpRequest() + ctx = {} + processors = tuple(import_string(path) for path in settings.STATFILES_I18_PROCESORS) + for processor in processors: + ctx.update(processor(request)) + + for file in os.listdir(SOURCE_DIR, ): + path = os.path.join(SOURCE_DIR, file) + if os.path.exists(path) and os.path.isfile(path): + print(f"render {file}") + render_file(file, SOURCE_DIR, TARTGET_DIR, locales, ctx) + else: + raise NotImplementedError('Using multi-level directories is not implemented at this point') # TODO multilevel dir if needed + print(f"rendered all files in {SOURCE_DIR}") diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index b1256dccee..c4cc8e961a 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -190,6 +190,17 @@ STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'InvenTree', 'static'), ] +# Translated Template settings +STATICFILES_I18_PREFIX = 'i18n' +STATICFILES_I18_SRC = os.path.join(BASE_DIR, 'templates', 'js') +STATICFILES_I18_TRG = STATICFILES_DIRS[0] + '_' + STATICFILES_I18_PREFIX +STATICFILES_DIRS.append(STATICFILES_I18_TRG) +STATICFILES_I18_TRG = os.path.join(STATICFILES_I18_TRG, STATICFILES_I18_PREFIX) + +STATFILES_I18_PROCESORS = [ + 'InvenTree.context.status_codes', +] + # Color Themes Directory STATIC_COLOR_THEMES_DIR = os.path.join(STATIC_ROOT, 'css', 'color-themes') diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index cf56e01fbf..a92d95c766 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -6,6 +6,7 @@ import os from django import template from django.urls import reverse from django.utils.safestring import mark_safe +from django.templatetags.static import StaticNode from InvenTree import version, settings import InvenTree.helpers @@ -180,3 +181,31 @@ def object_link(url_name, pk, ref): ref_url = reverse(url_name, kwargs={'pk': pk}) return mark_safe('{}'.format(ref_url, ref)) + + +class I18nStaticNode(StaticNode): + """ + custom StaticNode + replaces a variable named *lng* in the path with the current language + """ + def render(self, context): + self.path.var = self.path.var.format(lng=context.request.LANGUAGE_CODE) + ret = super().render(context) + return ret + + +@register.tag('i18n_static') +def do_i18n_static(parser, token): + """ + Overrides normal static, adds language - lookup for prerenderd files #1485 + + usage (like static): + {% i18n_static path [as varname] %} + """ + bits = token.split_contents() + loc_name = settings.STATICFILES_I18_PREFIX + + # change path to called ressource + bits[1] = f"'{loc_name}/{{lng}}.{bits[1][1:-1]}'" + token.contents = ' '.join(bits) + return I18nStaticNode.handle_token(parser, token) diff --git a/InvenTree/templates/base.html b/InvenTree/templates/base.html index 8ccf691ef5..970d9f1016 100644 --- a/InvenTree/templates/base.html +++ b/InvenTree/templates/base.html @@ -143,20 +143,21 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/tasks.py b/tasks.py index 895f3183ce..d775b943a0 100644 --- a/tasks.py +++ b/tasks.py @@ -154,6 +154,7 @@ def static(c): as per Django requirements. """ + manage(c, "prerender") manage(c, "collectstatic --no-input") From 4d439db322ccd93f9107301773649cb1ffb0d20d Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 20 Apr 2021 13:48:05 +0200 Subject: [PATCH 20/40] fixing styling issues --- InvenTree/InvenTree/management/commands/prerender.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/InvenTree/InvenTree/management/commands/prerender.py b/InvenTree/InvenTree/management/commands/prerender.py index b80f35d421..028536becb 100644 --- a/InvenTree/InvenTree/management/commands/prerender.py +++ b/InvenTree/InvenTree/management/commands/prerender.py @@ -2,7 +2,6 @@ Custom management command to prerender files """ -import django from django.core.management.base import BaseCommand from django.conf import settings from django.template.loader import render_to_string @@ -10,7 +9,6 @@ from django.utils.module_loading import import_string from django.http.request import HttpRequest from django.utils.translation import override as lang_over -import time import os From 99dc02e2cbfe49a7595c042b82d32f882959f6bd Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 20 Apr 2021 14:39:28 +0200 Subject: [PATCH 21/40] cleaning up names / comments --- InvenTree/InvenTree/management/commands/prerender.py | 12 ++++++------ InvenTree/InvenTree/settings.py | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/InvenTree/InvenTree/management/commands/prerender.py b/InvenTree/InvenTree/management/commands/prerender.py index 028536becb..28f4b21f15 100644 --- a/InvenTree/InvenTree/management/commands/prerender.py +++ b/InvenTree/InvenTree/management/commands/prerender.py @@ -28,14 +28,14 @@ class Command(BaseCommand): """ def handle(self, *args, **kwargs): - # static directorys + # static directories LC_DIR = settings.LOCALE_PATHS[0] SOURCE_DIR = settings.STATICFILES_I18_SRC - TARTGET_DIR = settings.STATICFILES_I18_TRG + TARGET_DIR = settings.STATICFILES_I18_TRG # ensure static directory exists - if not os.path.exists(TARTGET_DIR): - os.mkdir(TARTGET_DIR) + if not os.path.exists(TARGET_DIR): + os.makedirs(TARGET_DIR, exist_ok=True) # collect locales locales = {} @@ -47,7 +47,7 @@ class Command(BaseCommand): # render! request = HttpRequest() ctx = {} - processors = tuple(import_string(path) for path in settings.STATFILES_I18_PROCESORS) + processors = tuple(import_string(path) for path in settings.STATFILES_I18_PROCESSORS) for processor in processors: ctx.update(processor(request)) @@ -55,7 +55,7 @@ class Command(BaseCommand): path = os.path.join(SOURCE_DIR, file) if os.path.exists(path) and os.path.isfile(path): print(f"render {file}") - render_file(file, SOURCE_DIR, TARTGET_DIR, locales, ctx) + render_file(file, SOURCE_DIR, TARGET_DIR, locales, ctx) else: raise NotImplementedError('Using multi-level directories is not implemented at this point') # TODO multilevel dir if needed print(f"rendered all files in {SOURCE_DIR}") diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index c4cc8e961a..53dcb47037 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -197,7 +197,7 @@ STATICFILES_I18_TRG = STATICFILES_DIRS[0] + '_' + STATICFILES_I18_PREFIX STATICFILES_DIRS.append(STATICFILES_I18_TRG) STATICFILES_I18_TRG = os.path.join(STATICFILES_I18_TRG, STATICFILES_I18_PREFIX) -STATFILES_I18_PROCESORS = [ +STATFILES_I18_PROCESSORS = [ 'InvenTree.context.status_codes', ] From b20c832702f0428f883d9cf68c3a2ec73526699c Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 21 Apr 2021 11:13:37 +1000 Subject: [PATCH 22/40] Changes to docker workflow --- .github/workflows/docker_build.yaml | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/.github/workflows/docker_build.yaml b/.github/workflows/docker_build.yaml index e307c18452..df747bc56e 100644 --- a/.github/workflows/docker_build.yaml +++ b/.github/workflows/docker_build.yaml @@ -1,8 +1,11 @@ -# Test that the docker file builds correctly +# Build and push latest docker image on push to master branch -name: Docker +name: Docker Build -on: ["push", "pull_request"] +on: + push: + branches: + - 'master' jobs: @@ -10,7 +13,19 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Build Docker Image - run: cd docker && docker build . --tag inventree:$(date +%s) - \ No newline at end of file + - name: Checkout Code + uses: actions/checkout@v2 + - name: Login to Dockerhub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and Push + uses: docker/build-push-action@v2 + with: + context: ./docker + push: true + repository: inventree/inventree + tags: inventree/inventree:latest + - name: Image Digest + run: echo ${{ steps.docker_build.outputs.digest }} From a1e835e01b14c4edc7907b6ca0dc41960f195ee2 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 21 Apr 2021 12:33:56 +1000 Subject: [PATCH 23/40] Add some new (empty) locale translation entries - fr - it - ja - pl - ru - zh Also fixes the `invoke translate` command (maybe it was changed with the recent update to Django 3.2?) The CI pipeline now runs the translation and static collection steps, to check those for errors. --- .github/workflows/coverage.yaml | 3 + InvenTree/locale/de/LC_MESSAGES/django.po | 1144 ++-- InvenTree/locale/en/LC_MESSAGES/django.po | 1107 ++-- InvenTree/locale/es/LC_MESSAGES/django.po | 1107 ++-- InvenTree/locale/fr/LC_MESSAGES/django.po | 7234 ++++++++++++++++++++ InvenTree/locale/it/LC_MESSAGES/django.po | 7234 ++++++++++++++++++++ InvenTree/locale/ja/LC_MESSAGES/django.po | 7234 ++++++++++++++++++++ InvenTree/locale/pl/LC_MESSAGES/django.po | 7236 +++++++++++++++++++++ InvenTree/locale/ru/LC_MESSAGES/django.po | 7236 +++++++++++++++++++++ InvenTree/locale/zh/LC_MESSAGES/django.po | 7233 ++++++++++++++++++++ tasks.py | 4 +- 11 files changed, 45120 insertions(+), 1652 deletions(-) create mode 100644 InvenTree/locale/fr/LC_MESSAGES/django.po create mode 100644 InvenTree/locale/it/LC_MESSAGES/django.po create mode 100644 InvenTree/locale/ja/LC_MESSAGES/django.po create mode 100644 InvenTree/locale/pl/LC_MESSAGES/django.po create mode 100644 InvenTree/locale/ru/LC_MESSAGES/django.po create mode 100644 InvenTree/locale/zh/LC_MESSAGES/django.po diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index 2b883490d2..17a8369822 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -42,6 +42,9 @@ jobs: rm test_db.sqlite invoke migrate invoke import-records -f data.json + - name: Test Translations + # This will test both the translation and collectstatic functions + run: invoke translate - name: Check Migration Files run: python3 ci/check_migration_files.py - name: Upload Coverage Report diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index cca4a9b415..26dd39205d 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 12:28+1000\n" "PO-Revision-Date: 2021-03-28 17:47+0200\n" "Last-Translator: Andreas Kaiser , Matthias " "MAIR\n" @@ -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 @@ -157,9 +158,10 @@ msgstr "Name" #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:677 templates/js/build.js:944 #: 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,35 +173,35 @@ 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" @@ -382,10 +384,10 @@ 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:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 #: 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/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 +397,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,11 +407,11 @@ 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/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "Anzahl" @@ -498,7 +500,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,7 +512,7 @@ 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 @@ -538,12 +540,11 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: 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 @@ -551,8 +552,8 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:681 templates/js/build.js:921 #: 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" @@ -660,7 +661,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 @@ -684,7 +685,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" @@ -710,51 +711,51 @@ msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" msgid "Completed build output" msgstr "Endprodukt fertigstellen" -#: build/models.py:996 +#: build/models.py:1002 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 +#: build/models.py:1024 msgid "Build item must specify a build output" msgstr "Bauauftrags-Objekt muss einem Endprodukt zugewiesen sein" -#: build/models.py:1023 +#: build/models.py:1029 #, 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:1033 #, 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:1040 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:1044 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:1048 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 +#: build/models.py:1088 stock/templates/stock/item_base.html:306 #: templates/InvenTree/search.html:183 templates/js/build.js:655 #: templates/navbar.html:29 msgid "Build" msgstr "Bauauftrag" -#: build/models.py:1083 +#: build/models.py:1089 msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1090 part/templates/part/allocation.html:18 +#: build/models.py:1096 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -762,26 +763,32 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" #: 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 +#: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "BestandsObjekt" -#: build/models.py:1091 +#: build/models.py:1097 msgid "Source stock item" msgstr "Quell-BestandsObjekt" -#: build/models.py:1104 +#: build/models.py:1110 msgid "Stock quantity to allocate to build" msgstr "BestandsObjekt-Anzahl dem Bauauftrag zuweisen" -#: build/models.py:1112 +#: build/models.py:1118 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1113 +#: build/models.py:1119 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" @@ -871,12 +878,12 @@ msgstr "Dieser Bauauftrag ist dem Bauauftrag %(link)s untergeordnet" #: 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 +#: 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" @@ -886,8 +893,8 @@ msgstr "Admin" #: 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" @@ -928,7 +935,7 @@ msgstr "Bau-Status" #: 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 +#: templates/js/stock.js:628 templates/js/stock.js:1279 msgid "Status" msgstr "Status" @@ -1072,8 +1079,8 @@ 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" @@ -1198,7 +1205,7 @@ msgstr "Bestand dem Endprodukt zuweisen" msgid "Create Build Output" msgstr "Endprodukt anlegen" -#: build/views.py:203 stock/models.py:968 stock/views.py:1789 +#: build/views.py:203 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" @@ -1338,339 +1345,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 +1743,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 +1802,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 +1851,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 +1868,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 +1882,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 +1912,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 +1927,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" @@ -2046,7 +2063,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 +2110,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 +2126,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 +2152,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 +2184,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 +2210,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 +2230,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 +2247,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 +2259,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 +2290,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 +2444,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 +2630,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 +2907,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 +2952,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 +2972,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" @@ -3273,7 +3283,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 +3361,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 +3437,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 +3457,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 +3518,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 +3527,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 +3537,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 +3550,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 +3582,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 +3613,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 +3649,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 +3908,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 +4024,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 +4079,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 +4145,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 +4330,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 +4347,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 +4357,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 +4367,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 +4407,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 +4427,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 +4553,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 +4899,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 +4967,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 +5078,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 +5170,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 +5312,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 +5334,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 +5370,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 +5398,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 +5407,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" @@ -5522,7 +5531,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 +5539,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 +5591,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 +5615,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 +5640,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 +5771,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" @@ -5873,55 +5881,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 +5979,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 +6019,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 +6032,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 +6097,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" @@ -6347,7 +6355,7 @@ msgid "Quantity Per" msgstr "Anzahl pro" #: templates/js/build.js:582 templates/js/build.js:996 -#: templates/stock_table.html:57 +#: templates/stock_table.html:58 msgid "Order stock" msgstr "Bestand bestellen" @@ -6355,8 +6363,9 @@ msgstr "Bestand bestellen" 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:649 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" @@ -6385,12 +6394,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 +6574,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 +6800,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 +6824,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 +6860,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 +7089,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 +7101,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 +7227,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 +7303,49 @@ 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 "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 +7502,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" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 88164f6c11..9e300a0372 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 12:28+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -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 @@ -155,9 +156,10 @@ msgstr "" #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:677 templates/js/build.js:944 #: 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,35 +171,35 @@ 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 "" @@ -380,10 +382,10 @@ 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:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 #: 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/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 +395,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,11 +405,11 @@ 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/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" @@ -496,7 +498,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,7 +510,7 @@ 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 @@ -536,12 +538,11 @@ msgstr "" #: 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 @@ -549,8 +550,8 @@ msgstr "" #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:681 templates/js/build.js:921 #: 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 "" @@ -656,7 +657,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 @@ -680,7 +681,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" @@ -706,47 +707,47 @@ msgstr "" msgid "Completed build output" msgstr "" -#: build/models.py:996 +#: build/models.py:1002 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1018 +#: build/models.py:1024 msgid "Build item must specify a build output" msgstr "" -#: build/models.py:1023 +#: build/models.py:1029 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1027 +#: build/models.py:1033 #, 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:1040 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1038 order/models.py:761 +#: build/models.py:1044 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1042 +#: build/models.py:1048 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1082 stock/templates/stock/item_base.html:306 +#: build/models.py:1088 stock/templates/stock/item_base.html:306 #: templates/InvenTree/search.html:183 templates/js/build.js:655 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1083 +#: build/models.py:1089 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1090 part/templates/part/allocation.html:18 +#: build/models.py:1096 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -754,26 +755,30 @@ msgstr "" #: 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 +#: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1091 +#: build/models.py:1097 msgid "Source stock item" msgstr "" -#: build/models.py:1104 +#: build/models.py:1110 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1112 +#: build/models.py:1118 msgid "Install into" msgstr "" -#: build/models.py:1113 +#: build/models.py:1119 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" msgstr "" @@ -860,12 +865,12 @@ 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 +#: 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 "" @@ -875,8 +880,8 @@ msgstr "" #: 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 "" @@ -917,7 +922,7 @@ msgstr "" #: 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 +#: templates/js/stock.js:628 templates/js/stock.js:1279 msgid "Status" msgstr "" @@ -1057,8 +1062,8 @@ 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 "" @@ -1180,7 +1185,7 @@ msgstr "" msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:968 stock/views.py:1789 +#: build/views.py:203 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" @@ -1318,335 +1323,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 +1715,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 +1774,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 +1823,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 +1840,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 +1854,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 +1884,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 +1899,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" @@ -2022,7 +2035,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 +2082,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 +2098,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 +2124,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 +2155,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 +2181,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 +2201,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 +2218,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 +2230,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 +2261,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 +2414,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 +2600,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 +2874,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 +2919,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 +2939,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 "" @@ -3228,7 +3246,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 +3323,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 +3399,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 +3419,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 +3480,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 +3489,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 +3499,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 +3512,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 +3544,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 +3575,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 +3611,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 +3859,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 +3975,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 +4030,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 +4091,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 +4276,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 +4293,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 +4303,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 +4313,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 +4353,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 +4373,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 +4498,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 +4842,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 +4909,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 +5019,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 +5109,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 +5264,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 +5300,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 +5328,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 +5337,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 "" @@ -5437,53 +5455,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 +5513,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 +5537,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 +5562,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 +5691,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 "" @@ -5784,55 +5801,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 +5899,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 +5939,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 +5952,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 +6012,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:28 -#: templates/registration/login.html:58 +#: templates/registration/login.html:59 msgid "Username" msgstr "" @@ -6251,7 +6268,7 @@ msgid "Quantity Per" msgstr "" #: templates/js/build.js:582 templates/js/build.js:996 -#: templates/stock_table.html:57 +#: templates/stock_table.html:58 msgid "Order stock" msgstr "" @@ -6259,8 +6276,9 @@ msgstr "" 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:649 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 "" @@ -6289,12 +6307,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 +6486,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 +6712,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 +6736,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 +6772,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 +6999,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 +7011,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 +7125,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 +7201,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..9e300a0372 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 12:28+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -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 @@ -155,9 +156,10 @@ msgstr "" #: templates/InvenTree/settings/header.html:9 templates/js/bom.js:190 #: templates/js/build.js:677 templates/js/build.js:944 #: 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,35 +171,35 @@ 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 "" @@ -380,10 +382,10 @@ 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:45 build/forms.py:87 build/forms.py:257 build/models.py:1109 #: 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/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 +395,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,11 +405,11 @@ 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/stock.js:1033 templates/js/stock.js:1271 msgid "Quantity" msgstr "" @@ -496,7 +498,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,7 +510,7 @@ 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 @@ -536,12 +538,11 @@ msgstr "" #: 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 @@ -549,8 +550,8 @@ msgstr "" #: templates/js/barcode.js:362 templates/js/bom.js:163 #: templates/js/build.js:681 templates/js/build.js:921 #: 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 "" @@ -656,7 +657,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 @@ -680,7 +681,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" @@ -706,47 +707,47 @@ msgstr "" msgid "Completed build output" msgstr "" -#: build/models.py:996 +#: build/models.py:1002 msgid "BuildItem must be unique for build, stock_item and install_into" msgstr "" -#: build/models.py:1018 +#: build/models.py:1024 msgid "Build item must specify a build output" msgstr "" -#: build/models.py:1023 +#: build/models.py:1029 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" -#: build/models.py:1027 +#: build/models.py:1033 #, 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:1040 order/models.py:758 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1038 order/models.py:761 +#: build/models.py:1044 order/models.py:761 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1042 +#: build/models.py:1048 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1082 stock/templates/stock/item_base.html:306 +#: build/models.py:1088 stock/templates/stock/item_base.html:306 #: templates/InvenTree/search.html:183 templates/js/build.js:655 #: templates/navbar.html:29 msgid "Build" msgstr "" -#: build/models.py:1083 +#: build/models.py:1089 msgid "Build to allocate parts" msgstr "" -#: build/models.py:1090 part/templates/part/allocation.html:18 +#: build/models.py:1096 part/templates/part/allocation.html:18 #: part/templates/part/allocation.html:24 #: part/templates/part/allocation.html:31 #: part/templates/part/allocation.html:49 @@ -754,26 +755,30 @@ msgstr "" #: 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 +#: templates/js/stock.js:1004 templates/js/stock.js:1262 msgid "Stock Item" msgstr "" -#: build/models.py:1091 +#: build/models.py:1097 msgid "Source stock item" msgstr "" -#: build/models.py:1104 +#: build/models.py:1110 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1112 +#: build/models.py:1118 msgid "Install into" msgstr "" -#: build/models.py:1113 +#: build/models.py:1119 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" msgstr "" @@ -860,12 +865,12 @@ 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 +#: 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 "" @@ -875,8 +880,8 @@ msgstr "" #: 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 "" @@ -917,7 +922,7 @@ msgstr "" #: 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 +#: templates/js/stock.js:628 templates/js/stock.js:1279 msgid "Status" msgstr "" @@ -1057,8 +1062,8 @@ 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 "" @@ -1180,7 +1185,7 @@ msgstr "" msgid "Create Build Output" msgstr "" -#: build/views.py:203 stock/models.py:968 stock/views.py:1789 +#: build/views.py:203 stock/models.py:969 stock/views.py:1789 msgid "Serial numbers already exist" msgstr "" @@ -1318,335 +1323,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 +1715,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 +1774,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 +1823,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 +1840,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 +1854,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 +1884,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 +1899,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" @@ -2022,7 +2035,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 +2082,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 +2098,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 +2124,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 +2155,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 +2181,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 +2201,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 +2218,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 +2230,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 +2261,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 +2414,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 +2600,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 +2874,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 +2919,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 +2939,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 "" @@ -3228,7 +3246,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 +3323,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 +3399,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 +3419,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 +3480,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 +3489,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 +3499,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 +3512,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 +3544,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 +3575,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 +3611,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 +3859,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 +3975,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 +4030,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 +4091,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 +4276,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 +4293,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 +4303,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 +4313,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 +4353,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 +4373,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 +4498,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 +4842,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 +4909,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 +5019,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 +5109,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 +5264,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 +5300,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 +5328,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 +5337,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 "" @@ -5437,53 +5455,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 +5513,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 +5537,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 +5562,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 +5691,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 "" @@ -5784,55 +5801,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 +5899,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 +5939,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 +5952,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 +6012,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:28 -#: templates/registration/login.html:58 +#: templates/registration/login.html:59 msgid "Username" msgstr "" @@ -6251,7 +6268,7 @@ msgid "Quantity Per" msgstr "" #: templates/js/build.js:582 templates/js/build.js:996 -#: templates/stock_table.html:57 +#: templates/stock_table.html:58 msgid "Order stock" msgstr "" @@ -6259,8 +6276,9 @@ msgstr "" 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:649 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 "" @@ -6289,12 +6307,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 +6486,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 +6712,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 +6736,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 +6772,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 +6999,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 +7011,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 +7125,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 +7201,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.po b/InvenTree/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 0000000000..65eebf0e77 --- /dev/null +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,7234 @@ +# 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 12:28+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:99 build/forms.py:120 +#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: 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:677 templates/js/build.js:944 +#: 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:94 InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:228 +msgid "Pending" +msgstr "" + +#: InvenTree/status_codes.py:95 +msgid "Placed" +msgstr "" + +#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +msgid "Complete" +msgstr "" + +#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 +#: InvenTree/status_codes.py:230 +msgid "Cancelled" +msgstr "" + +#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:180 +msgid "Lost" +msgstr "" + +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 +#: InvenTree/status_codes.py:182 +msgid "Returned" +msgstr "" + +#: InvenTree/status_codes.py:136 +#: order/templates/order/sales_order_base.html:124 +msgid "Shipped" +msgstr "" + +#: InvenTree/status_codes.py:176 +msgid "OK" +msgstr "" + +#: InvenTree/status_codes.py:177 +msgid "Attention needed" +msgstr "" + +#: InvenTree/status_codes.py:178 +msgid "Damaged" +msgstr "" + +#: InvenTree/status_codes.py:179 +msgid "Destroyed" +msgstr "" + +#: InvenTree/status_codes.py:181 +msgid "Rejected" +msgstr "" + +#: InvenTree/status_codes.py:229 +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:34 +msgid "Build Order reference" +msgstr "" + +#: build/forms.py:35 +msgid "Order target date" +msgstr "" + +#: build/forms.py:39 build/templates/build/build_base.html:107 +#: 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/order.js:298 +msgid "Target Date" +msgstr "" + +#: build/forms.py:40 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:1109 +#: build/templates/build/auto_allocate.html:17 +#: build/templates/build/build_base.html:94 +#: 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:420 templates/js/build.js:954 +#: templates/js/stock.js:1033 templates/js/stock.js:1271 +msgid "Quantity" +msgstr "" + +#: build/forms.py:46 +msgid "Number of items to build" +msgstr "" + +#: build/forms.py:88 +msgid "Enter quantity for build output" +msgstr "" + +#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +msgid "Serial Numbers" +msgstr "" + +#: build/forms.py:94 +msgid "Enter serial numbers for build outputs" +msgstr "" + +#: build/forms.py:100 +msgid "Confirm creation of build output" +msgstr "" + +#: build/forms.py:121 +msgid "Confirm deletion of build output" +msgstr "" + +#: build/forms.py:142 +msgid "Confirm unallocation of stock" +msgstr "" + +#: build/forms.py:166 +msgid "Confirm stock allocation" +msgstr "" + +#: build/forms.py:189 +msgid "Mark build as complete" +msgstr "" + +#: build/forms.py:213 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/stock.js:641 +msgid "Location" +msgstr "" + +#: build/forms.py:214 +msgid "Location of completed parts" +msgstr "" + +#: build/forms.py:219 +msgid "Confirm incomplete" +msgstr "" + +#: build/forms.py:220 +msgid "Confirm completion with incomplete stock allocation" +msgstr "" + +#: build/forms.py:223 +msgid "Confirm build completion" +msgstr "" + +#: build/forms.py:243 +msgid "Confirm cancel" +msgstr "" + +#: build/forms.py:243 build/views.py:66 +msgid "Confirm build cancellation" +msgstr "" + +#: build/forms.py:257 +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 +#: 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:509 templates/js/build.js:948 +msgid "Reference" +msgstr "" + +#: build/models.py:137 +msgid "Brief description of the build" +msgstr "" + +#: build/models.py:146 build/templates/build/build_base.html:124 +#: 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:89 +#: 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:681 templates/js/build.js:921 +#: 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 +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:145 +#: 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:59 +#: 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:673 +msgid "No build output specified" +msgstr "" + +#: build/models.py:676 +msgid "Build output is already completed" +msgstr "" + +#: build/models.py:679 +msgid "Build output does not match Build Order" +msgstr "" + +#: build/models.py:754 +msgid "Completed build output" +msgstr "" + +#: build/models.py:1002 +msgid "BuildItem must be unique for build, stock_item and install_into" +msgstr "" + +#: build/models.py:1024 +msgid "Build item must specify a build output" +msgstr "" + +#: build/models.py:1029 +#, python-brace-format +msgid "Selected stock item not found in BOM for part '{p}'" +msgstr "" + +#: build/models.py:1033 +#, python-brace-format +msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgstr "" + +#: build/models.py:1040 order/models.py:758 +msgid "StockItem is over-allocated" +msgstr "" + +#: build/models.py:1044 order/models.py:761 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1048 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1088 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: templates/navbar.html:29 +msgid "Build" +msgstr "" + +#: build/models.py:1089 +msgid "Build to allocate parts" +msgstr "" + +#: build/models.py:1096 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:1004 templates/js/stock.js:1262 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1097 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1110 +msgid "Stock quantity to allocate to build" +msgstr "" + +#: build/models.py:1118 +msgid "Install into" +msgstr "" + +#: build/models.py:1119 +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" +msgstr "" + +#: build/templates/build/allocate.html:21 +msgid "Build order has been completed" +msgstr "" + +#: build/templates/build/allocate.html:26 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/allocate.html:27 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/allocate.html:30 +msgid "Order required parts" +msgstr "" + +#: build/templates/build/allocate.html:31 +#: 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" +msgstr "" + +#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:49 +msgid "Create a new build output" +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" +msgstr "" + +#: build/templates/build/attachments.html:12 +#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: 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:40 +#: 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:46 +#: build/templates/build/build_base.html:111 +#: 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:55 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:59 +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 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:72 +#: build/templates/build/build_base.html:170 build/views.py:57 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:85 +#: 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:1279 +msgid "Status" +msgstr "" + +#: build/templates/build/build_base.html:111 +#, python-format +msgid "This build was due on %(target)s" +msgstr "" + +#: build/templates/build/build_base.html:118 +#: build/templates/build/detail.html:64 +msgid "Progress" +msgstr "" + +#: build/templates/build/build_base.html:131 +#: 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:138 +#: build/templates/build/detail.html:98 +#: report/templates/report/inventree_build_order_base.html:153 +msgid "Issued By" +msgstr "" + +#: build/templates/build/build_children.html:10 +#: build/templates/build/navbar.html:42 +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" +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 can be completed" +msgstr "" + +#: build/templates/build/complete.html:12 +msgid "Build cannot be completed" +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_output.html:9 +msgid "Stock allocation is complete" +msgstr "" + +#: build/templates/build/complete_output.html:13 +msgid "Stock allocation is incomplete" +msgstr "" + +#: build/templates/build/complete_output.html:19 +msgid "parts have not been fully allocated" +msgstr "" + +#: build/templates/build/complete_output.html:40 +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:718 +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:696 +#: templates/js/build.js:728 +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:657 +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:20 build/templates/build/navbar.html:23 +#: build/templates/build/parts.html:11 +msgid "Required Parts" +msgstr "" + +#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 +msgid "In Progress" +msgstr "" + +#: build/templates/build/navbar.html:45 +msgid "Child Builds" +msgstr "" + +#: build/templates/build/navbar.html:56 +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: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 +msgid "Allocated stock to build output" +msgstr "" + +#: build/views.py:180 +msgid "Create Build Output" +msgstr "" + +#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:212 +msgid "Serial numbers required for trackable build output" +msgstr "" + +#: build/views.py:278 +msgid "Delete Build Output" +msgstr "" + +#: build/views.py:299 build/views.py:383 +msgid "Confirm unallocation of build stock" +msgstr "" + +#: build/views.py:300 build/views.py:384 stock/views.py:425 +msgid "Check the confirmation box" +msgstr "" + +#: build/views.py:312 +msgid "Build output does not match build" +msgstr "" + +#: build/views.py:326 +msgid "Build output deleted" +msgstr "" + +#: build/views.py:408 +msgid "Complete Build Order" +msgstr "" + +#: build/views.py:414 +msgid "Build order cannot be completed" +msgstr "" + +#: build/views.py:425 +msgid "Completed build order" +msgstr "" + +#: build/views.py:441 +msgid "Complete Build Output" +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:573 +msgid "Build output completed" +msgstr "" + +#: build/views.py:711 +msgid "Created new build" +msgstr "" + +#: build/views.py:732 +msgid "Edit Build Order Details" +msgstr "" + +#: build/views.py:765 +msgid "Edited build" +msgstr "" + +#: build/views.py:774 +msgid "Delete Build Order" +msgstr "" + +#: build/views.py:789 +msgid "Removed parts from build allocation" +msgstr "" + +#: build/views.py:801 +msgid "Allocate stock to build output" +msgstr "" + +#: build/views.py:844 +msgid "Item must be currently in stock" +msgstr "" + +#: build/views.py:850 +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 +msgid "Available" +msgstr "" + +#: build/views.py:853 +msgid "Stock item must be selected" +msgstr "" + +#: build/views.py:1016 +msgid "Edit Stock Allocation" +msgstr "" + +#: build/views.py:1020 +msgid "Updated Build Item" +msgstr "" + +#: build/views.py:1049 +msgid "Add Build Order Attachment" +msgstr "" + +#: build/views.py:1062 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 +msgid "Edit Attachment" +msgstr "" + +#: build/views.py:1108 order/views.py:193 order/views.py:214 +msgid "Attachment updated" +msgstr "" + +#: build/views.py:1118 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 +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:411 +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: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 +msgid "Actions" +msgstr "" + +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 +#: templates/js/build.js:789 +msgid "Edit stock allocation" +msgstr "" + +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 +#: templates/js/build.js:790 +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:523 +#: templates/js/build.js:785 +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:585 +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:578 +#: templates/js/build.js:992 +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:442 +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:210 +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:934 +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:305 templates/js/build.js:1032 +msgid "No BOM items found" +msgstr "" + +#: templates/js/build.js:56 +msgid "Auto-allocate stock items to this output" +msgstr "" + +#: templates/js/build.js:62 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:71 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/build.js:77 +msgid "Delete build output" +msgstr "" + +#: templates/js/build.js:209 templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + +#: templates/js/build.js:493 +msgid "Required Part" +msgstr "" + +#: templates/js/build.js:514 +msgid "Quantity Per" +msgstr "" + +#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/stock_table.html:58 +msgid "Order stock" +msgstr "" + +#: templates/js/build.js:632 +msgid "No builds matching query" +msgstr "" + +#: templates/js/build.js:649 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 +msgid "Build order is overdue" +msgstr "" + +#: templates/js/build.js:767 +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.po b/InvenTree/locale/it/LC_MESSAGES/django.po new file mode 100644 index 0000000000..9e300a0372 --- /dev/null +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,7234 @@ +# 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 12:28+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:99 build/forms.py:120 +#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: 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:677 templates/js/build.js:944 +#: 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:94 InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:228 +msgid "Pending" +msgstr "" + +#: InvenTree/status_codes.py:95 +msgid "Placed" +msgstr "" + +#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +msgid "Complete" +msgstr "" + +#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 +#: InvenTree/status_codes.py:230 +msgid "Cancelled" +msgstr "" + +#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:180 +msgid "Lost" +msgstr "" + +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 +#: InvenTree/status_codes.py:182 +msgid "Returned" +msgstr "" + +#: InvenTree/status_codes.py:136 +#: order/templates/order/sales_order_base.html:124 +msgid "Shipped" +msgstr "" + +#: InvenTree/status_codes.py:176 +msgid "OK" +msgstr "" + +#: InvenTree/status_codes.py:177 +msgid "Attention needed" +msgstr "" + +#: InvenTree/status_codes.py:178 +msgid "Damaged" +msgstr "" + +#: InvenTree/status_codes.py:179 +msgid "Destroyed" +msgstr "" + +#: InvenTree/status_codes.py:181 +msgid "Rejected" +msgstr "" + +#: InvenTree/status_codes.py:229 +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:34 +msgid "Build Order reference" +msgstr "" + +#: build/forms.py:35 +msgid "Order target date" +msgstr "" + +#: build/forms.py:39 build/templates/build/build_base.html:107 +#: 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/order.js:298 +msgid "Target Date" +msgstr "" + +#: build/forms.py:40 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:1109 +#: build/templates/build/auto_allocate.html:17 +#: build/templates/build/build_base.html:94 +#: 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:420 templates/js/build.js:954 +#: templates/js/stock.js:1033 templates/js/stock.js:1271 +msgid "Quantity" +msgstr "" + +#: build/forms.py:46 +msgid "Number of items to build" +msgstr "" + +#: build/forms.py:88 +msgid "Enter quantity for build output" +msgstr "" + +#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +msgid "Serial Numbers" +msgstr "" + +#: build/forms.py:94 +msgid "Enter serial numbers for build outputs" +msgstr "" + +#: build/forms.py:100 +msgid "Confirm creation of build output" +msgstr "" + +#: build/forms.py:121 +msgid "Confirm deletion of build output" +msgstr "" + +#: build/forms.py:142 +msgid "Confirm unallocation of stock" +msgstr "" + +#: build/forms.py:166 +msgid "Confirm stock allocation" +msgstr "" + +#: build/forms.py:189 +msgid "Mark build as complete" +msgstr "" + +#: build/forms.py:213 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/stock.js:641 +msgid "Location" +msgstr "" + +#: build/forms.py:214 +msgid "Location of completed parts" +msgstr "" + +#: build/forms.py:219 +msgid "Confirm incomplete" +msgstr "" + +#: build/forms.py:220 +msgid "Confirm completion with incomplete stock allocation" +msgstr "" + +#: build/forms.py:223 +msgid "Confirm build completion" +msgstr "" + +#: build/forms.py:243 +msgid "Confirm cancel" +msgstr "" + +#: build/forms.py:243 build/views.py:66 +msgid "Confirm build cancellation" +msgstr "" + +#: build/forms.py:257 +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 +#: 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:509 templates/js/build.js:948 +msgid "Reference" +msgstr "" + +#: build/models.py:137 +msgid "Brief description of the build" +msgstr "" + +#: build/models.py:146 build/templates/build/build_base.html:124 +#: 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:89 +#: 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:681 templates/js/build.js:921 +#: 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 +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:145 +#: 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:59 +#: 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:673 +msgid "No build output specified" +msgstr "" + +#: build/models.py:676 +msgid "Build output is already completed" +msgstr "" + +#: build/models.py:679 +msgid "Build output does not match Build Order" +msgstr "" + +#: build/models.py:754 +msgid "Completed build output" +msgstr "" + +#: build/models.py:1002 +msgid "BuildItem must be unique for build, stock_item and install_into" +msgstr "" + +#: build/models.py:1024 +msgid "Build item must specify a build output" +msgstr "" + +#: build/models.py:1029 +#, python-brace-format +msgid "Selected stock item not found in BOM for part '{p}'" +msgstr "" + +#: build/models.py:1033 +#, python-brace-format +msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgstr "" + +#: build/models.py:1040 order/models.py:758 +msgid "StockItem is over-allocated" +msgstr "" + +#: build/models.py:1044 order/models.py:761 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1048 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1088 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: templates/navbar.html:29 +msgid "Build" +msgstr "" + +#: build/models.py:1089 +msgid "Build to allocate parts" +msgstr "" + +#: build/models.py:1096 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:1004 templates/js/stock.js:1262 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1097 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1110 +msgid "Stock quantity to allocate to build" +msgstr "" + +#: build/models.py:1118 +msgid "Install into" +msgstr "" + +#: build/models.py:1119 +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" +msgstr "" + +#: build/templates/build/allocate.html:21 +msgid "Build order has been completed" +msgstr "" + +#: build/templates/build/allocate.html:26 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/allocate.html:27 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/allocate.html:30 +msgid "Order required parts" +msgstr "" + +#: build/templates/build/allocate.html:31 +#: 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" +msgstr "" + +#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:49 +msgid "Create a new build output" +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" +msgstr "" + +#: build/templates/build/attachments.html:12 +#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: 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:40 +#: 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:46 +#: build/templates/build/build_base.html:111 +#: 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:55 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:59 +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 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:72 +#: build/templates/build/build_base.html:170 build/views.py:57 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:85 +#: 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:1279 +msgid "Status" +msgstr "" + +#: build/templates/build/build_base.html:111 +#, python-format +msgid "This build was due on %(target)s" +msgstr "" + +#: build/templates/build/build_base.html:118 +#: build/templates/build/detail.html:64 +msgid "Progress" +msgstr "" + +#: build/templates/build/build_base.html:131 +#: 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:138 +#: build/templates/build/detail.html:98 +#: report/templates/report/inventree_build_order_base.html:153 +msgid "Issued By" +msgstr "" + +#: build/templates/build/build_children.html:10 +#: build/templates/build/navbar.html:42 +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" +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 can be completed" +msgstr "" + +#: build/templates/build/complete.html:12 +msgid "Build cannot be completed" +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_output.html:9 +msgid "Stock allocation is complete" +msgstr "" + +#: build/templates/build/complete_output.html:13 +msgid "Stock allocation is incomplete" +msgstr "" + +#: build/templates/build/complete_output.html:19 +msgid "parts have not been fully allocated" +msgstr "" + +#: build/templates/build/complete_output.html:40 +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:718 +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:696 +#: templates/js/build.js:728 +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:657 +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:20 build/templates/build/navbar.html:23 +#: build/templates/build/parts.html:11 +msgid "Required Parts" +msgstr "" + +#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 +msgid "In Progress" +msgstr "" + +#: build/templates/build/navbar.html:45 +msgid "Child Builds" +msgstr "" + +#: build/templates/build/navbar.html:56 +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: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 +msgid "Allocated stock to build output" +msgstr "" + +#: build/views.py:180 +msgid "Create Build Output" +msgstr "" + +#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:212 +msgid "Serial numbers required for trackable build output" +msgstr "" + +#: build/views.py:278 +msgid "Delete Build Output" +msgstr "" + +#: build/views.py:299 build/views.py:383 +msgid "Confirm unallocation of build stock" +msgstr "" + +#: build/views.py:300 build/views.py:384 stock/views.py:425 +msgid "Check the confirmation box" +msgstr "" + +#: build/views.py:312 +msgid "Build output does not match build" +msgstr "" + +#: build/views.py:326 +msgid "Build output deleted" +msgstr "" + +#: build/views.py:408 +msgid "Complete Build Order" +msgstr "" + +#: build/views.py:414 +msgid "Build order cannot be completed" +msgstr "" + +#: build/views.py:425 +msgid "Completed build order" +msgstr "" + +#: build/views.py:441 +msgid "Complete Build Output" +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:573 +msgid "Build output completed" +msgstr "" + +#: build/views.py:711 +msgid "Created new build" +msgstr "" + +#: build/views.py:732 +msgid "Edit Build Order Details" +msgstr "" + +#: build/views.py:765 +msgid "Edited build" +msgstr "" + +#: build/views.py:774 +msgid "Delete Build Order" +msgstr "" + +#: build/views.py:789 +msgid "Removed parts from build allocation" +msgstr "" + +#: build/views.py:801 +msgid "Allocate stock to build output" +msgstr "" + +#: build/views.py:844 +msgid "Item must be currently in stock" +msgstr "" + +#: build/views.py:850 +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 +msgid "Available" +msgstr "" + +#: build/views.py:853 +msgid "Stock item must be selected" +msgstr "" + +#: build/views.py:1016 +msgid "Edit Stock Allocation" +msgstr "" + +#: build/views.py:1020 +msgid "Updated Build Item" +msgstr "" + +#: build/views.py:1049 +msgid "Add Build Order Attachment" +msgstr "" + +#: build/views.py:1062 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 +msgid "Edit Attachment" +msgstr "" + +#: build/views.py:1108 order/views.py:193 order/views.py:214 +msgid "Attachment updated" +msgstr "" + +#: build/views.py:1118 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 +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:411 +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: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 +msgid "Actions" +msgstr "" + +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 +#: templates/js/build.js:789 +msgid "Edit stock allocation" +msgstr "" + +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 +#: templates/js/build.js:790 +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:523 +#: templates/js/build.js:785 +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:585 +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:578 +#: templates/js/build.js:992 +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:442 +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:210 +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:934 +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:305 templates/js/build.js:1032 +msgid "No BOM items found" +msgstr "" + +#: templates/js/build.js:56 +msgid "Auto-allocate stock items to this output" +msgstr "" + +#: templates/js/build.js:62 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:71 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/build.js:77 +msgid "Delete build output" +msgstr "" + +#: templates/js/build.js:209 templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + +#: templates/js/build.js:493 +msgid "Required Part" +msgstr "" + +#: templates/js/build.js:514 +msgid "Quantity Per" +msgstr "" + +#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/stock_table.html:58 +msgid "Order stock" +msgstr "" + +#: templates/js/build.js:632 +msgid "No builds matching query" +msgstr "" + +#: templates/js/build.js:649 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 +msgid "Build order is overdue" +msgstr "" + +#: templates/js/build.js:767 +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.po b/InvenTree/locale/ja/LC_MESSAGES/django.po new file mode 100644 index 0000000000..1df1660be4 --- /dev/null +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -0,0 +1,7234 @@ +# 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 12:28+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:99 build/forms.py:120 +#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: 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:677 templates/js/build.js:944 +#: 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:94 InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:228 +msgid "Pending" +msgstr "" + +#: InvenTree/status_codes.py:95 +msgid "Placed" +msgstr "" + +#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +msgid "Complete" +msgstr "" + +#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 +#: InvenTree/status_codes.py:230 +msgid "Cancelled" +msgstr "" + +#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:180 +msgid "Lost" +msgstr "" + +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 +#: InvenTree/status_codes.py:182 +msgid "Returned" +msgstr "" + +#: InvenTree/status_codes.py:136 +#: order/templates/order/sales_order_base.html:124 +msgid "Shipped" +msgstr "" + +#: InvenTree/status_codes.py:176 +msgid "OK" +msgstr "" + +#: InvenTree/status_codes.py:177 +msgid "Attention needed" +msgstr "" + +#: InvenTree/status_codes.py:178 +msgid "Damaged" +msgstr "" + +#: InvenTree/status_codes.py:179 +msgid "Destroyed" +msgstr "" + +#: InvenTree/status_codes.py:181 +msgid "Rejected" +msgstr "" + +#: InvenTree/status_codes.py:229 +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:34 +msgid "Build Order reference" +msgstr "" + +#: build/forms.py:35 +msgid "Order target date" +msgstr "" + +#: build/forms.py:39 build/templates/build/build_base.html:107 +#: 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/order.js:298 +msgid "Target Date" +msgstr "" + +#: build/forms.py:40 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:1109 +#: build/templates/build/auto_allocate.html:17 +#: build/templates/build/build_base.html:94 +#: 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:420 templates/js/build.js:954 +#: templates/js/stock.js:1033 templates/js/stock.js:1271 +msgid "Quantity" +msgstr "" + +#: build/forms.py:46 +msgid "Number of items to build" +msgstr "" + +#: build/forms.py:88 +msgid "Enter quantity for build output" +msgstr "" + +#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +msgid "Serial Numbers" +msgstr "" + +#: build/forms.py:94 +msgid "Enter serial numbers for build outputs" +msgstr "" + +#: build/forms.py:100 +msgid "Confirm creation of build output" +msgstr "" + +#: build/forms.py:121 +msgid "Confirm deletion of build output" +msgstr "" + +#: build/forms.py:142 +msgid "Confirm unallocation of stock" +msgstr "" + +#: build/forms.py:166 +msgid "Confirm stock allocation" +msgstr "" + +#: build/forms.py:189 +msgid "Mark build as complete" +msgstr "" + +#: build/forms.py:213 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/stock.js:641 +msgid "Location" +msgstr "" + +#: build/forms.py:214 +msgid "Location of completed parts" +msgstr "" + +#: build/forms.py:219 +msgid "Confirm incomplete" +msgstr "" + +#: build/forms.py:220 +msgid "Confirm completion with incomplete stock allocation" +msgstr "" + +#: build/forms.py:223 +msgid "Confirm build completion" +msgstr "" + +#: build/forms.py:243 +msgid "Confirm cancel" +msgstr "" + +#: build/forms.py:243 build/views.py:66 +msgid "Confirm build cancellation" +msgstr "" + +#: build/forms.py:257 +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 +#: 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:509 templates/js/build.js:948 +msgid "Reference" +msgstr "" + +#: build/models.py:137 +msgid "Brief description of the build" +msgstr "" + +#: build/models.py:146 build/templates/build/build_base.html:124 +#: 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:89 +#: 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:681 templates/js/build.js:921 +#: 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 +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:145 +#: 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:59 +#: 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:673 +msgid "No build output specified" +msgstr "" + +#: build/models.py:676 +msgid "Build output is already completed" +msgstr "" + +#: build/models.py:679 +msgid "Build output does not match Build Order" +msgstr "" + +#: build/models.py:754 +msgid "Completed build output" +msgstr "" + +#: build/models.py:1002 +msgid "BuildItem must be unique for build, stock_item and install_into" +msgstr "" + +#: build/models.py:1024 +msgid "Build item must specify a build output" +msgstr "" + +#: build/models.py:1029 +#, python-brace-format +msgid "Selected stock item not found in BOM for part '{p}'" +msgstr "" + +#: build/models.py:1033 +#, python-brace-format +msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgstr "" + +#: build/models.py:1040 order/models.py:758 +msgid "StockItem is over-allocated" +msgstr "" + +#: build/models.py:1044 order/models.py:761 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1048 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1088 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: templates/navbar.html:29 +msgid "Build" +msgstr "" + +#: build/models.py:1089 +msgid "Build to allocate parts" +msgstr "" + +#: build/models.py:1096 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:1004 templates/js/stock.js:1262 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1097 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1110 +msgid "Stock quantity to allocate to build" +msgstr "" + +#: build/models.py:1118 +msgid "Install into" +msgstr "" + +#: build/models.py:1119 +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" +msgstr "" + +#: build/templates/build/allocate.html:21 +msgid "Build order has been completed" +msgstr "" + +#: build/templates/build/allocate.html:26 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/allocate.html:27 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/allocate.html:30 +msgid "Order required parts" +msgstr "" + +#: build/templates/build/allocate.html:31 +#: 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" +msgstr "" + +#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:49 +msgid "Create a new build output" +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" +msgstr "" + +#: build/templates/build/attachments.html:12 +#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: 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:40 +#: 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:46 +#: build/templates/build/build_base.html:111 +#: 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:55 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:59 +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 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:72 +#: build/templates/build/build_base.html:170 build/views.py:57 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:85 +#: 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:1279 +msgid "Status" +msgstr "" + +#: build/templates/build/build_base.html:111 +#, python-format +msgid "This build was due on %(target)s" +msgstr "" + +#: build/templates/build/build_base.html:118 +#: build/templates/build/detail.html:64 +msgid "Progress" +msgstr "" + +#: build/templates/build/build_base.html:131 +#: 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:138 +#: build/templates/build/detail.html:98 +#: report/templates/report/inventree_build_order_base.html:153 +msgid "Issued By" +msgstr "" + +#: build/templates/build/build_children.html:10 +#: build/templates/build/navbar.html:42 +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" +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 can be completed" +msgstr "" + +#: build/templates/build/complete.html:12 +msgid "Build cannot be completed" +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_output.html:9 +msgid "Stock allocation is complete" +msgstr "" + +#: build/templates/build/complete_output.html:13 +msgid "Stock allocation is incomplete" +msgstr "" + +#: build/templates/build/complete_output.html:19 +msgid "parts have not been fully allocated" +msgstr "" + +#: build/templates/build/complete_output.html:40 +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:718 +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:696 +#: templates/js/build.js:728 +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:657 +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:20 build/templates/build/navbar.html:23 +#: build/templates/build/parts.html:11 +msgid "Required Parts" +msgstr "" + +#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 +msgid "In Progress" +msgstr "" + +#: build/templates/build/navbar.html:45 +msgid "Child Builds" +msgstr "" + +#: build/templates/build/navbar.html:56 +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: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 +msgid "Allocated stock to build output" +msgstr "" + +#: build/views.py:180 +msgid "Create Build Output" +msgstr "" + +#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:212 +msgid "Serial numbers required for trackable build output" +msgstr "" + +#: build/views.py:278 +msgid "Delete Build Output" +msgstr "" + +#: build/views.py:299 build/views.py:383 +msgid "Confirm unallocation of build stock" +msgstr "" + +#: build/views.py:300 build/views.py:384 stock/views.py:425 +msgid "Check the confirmation box" +msgstr "" + +#: build/views.py:312 +msgid "Build output does not match build" +msgstr "" + +#: build/views.py:326 +msgid "Build output deleted" +msgstr "" + +#: build/views.py:408 +msgid "Complete Build Order" +msgstr "" + +#: build/views.py:414 +msgid "Build order cannot be completed" +msgstr "" + +#: build/views.py:425 +msgid "Completed build order" +msgstr "" + +#: build/views.py:441 +msgid "Complete Build Output" +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:573 +msgid "Build output completed" +msgstr "" + +#: build/views.py:711 +msgid "Created new build" +msgstr "" + +#: build/views.py:732 +msgid "Edit Build Order Details" +msgstr "" + +#: build/views.py:765 +msgid "Edited build" +msgstr "" + +#: build/views.py:774 +msgid "Delete Build Order" +msgstr "" + +#: build/views.py:789 +msgid "Removed parts from build allocation" +msgstr "" + +#: build/views.py:801 +msgid "Allocate stock to build output" +msgstr "" + +#: build/views.py:844 +msgid "Item must be currently in stock" +msgstr "" + +#: build/views.py:850 +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 +msgid "Available" +msgstr "" + +#: build/views.py:853 +msgid "Stock item must be selected" +msgstr "" + +#: build/views.py:1016 +msgid "Edit Stock Allocation" +msgstr "" + +#: build/views.py:1020 +msgid "Updated Build Item" +msgstr "" + +#: build/views.py:1049 +msgid "Add Build Order Attachment" +msgstr "" + +#: build/views.py:1062 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 +msgid "Edit Attachment" +msgstr "" + +#: build/views.py:1108 order/views.py:193 order/views.py:214 +msgid "Attachment updated" +msgstr "" + +#: build/views.py:1118 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 +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:411 +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: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 +msgid "Actions" +msgstr "" + +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 +#: templates/js/build.js:789 +msgid "Edit stock allocation" +msgstr "" + +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 +#: templates/js/build.js:790 +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:523 +#: templates/js/build.js:785 +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:585 +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:578 +#: templates/js/build.js:992 +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:442 +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:210 +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:934 +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:305 templates/js/build.js:1032 +msgid "No BOM items found" +msgstr "" + +#: templates/js/build.js:56 +msgid "Auto-allocate stock items to this output" +msgstr "" + +#: templates/js/build.js:62 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:71 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/build.js:77 +msgid "Delete build output" +msgstr "" + +#: templates/js/build.js:209 templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + +#: templates/js/build.js:493 +msgid "Required Part" +msgstr "" + +#: templates/js/build.js:514 +msgid "Quantity Per" +msgstr "" + +#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/stock_table.html:58 +msgid "Order stock" +msgstr "" + +#: templates/js/build.js:632 +msgid "No builds matching query" +msgstr "" + +#: templates/js/build.js:649 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 +msgid "Build order is overdue" +msgstr "" + +#: templates/js/build.js:767 +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.po b/InvenTree/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 0000000000..78d68fc969 --- /dev/null +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,7236 @@ +# 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 12:28+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:99 build/forms.py:120 +#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: 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:677 templates/js/build.js:944 +#: 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:94 InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:228 +msgid "Pending" +msgstr "" + +#: InvenTree/status_codes.py:95 +msgid "Placed" +msgstr "" + +#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +msgid "Complete" +msgstr "" + +#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 +#: InvenTree/status_codes.py:230 +msgid "Cancelled" +msgstr "" + +#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:180 +msgid "Lost" +msgstr "" + +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 +#: InvenTree/status_codes.py:182 +msgid "Returned" +msgstr "" + +#: InvenTree/status_codes.py:136 +#: order/templates/order/sales_order_base.html:124 +msgid "Shipped" +msgstr "" + +#: InvenTree/status_codes.py:176 +msgid "OK" +msgstr "" + +#: InvenTree/status_codes.py:177 +msgid "Attention needed" +msgstr "" + +#: InvenTree/status_codes.py:178 +msgid "Damaged" +msgstr "" + +#: InvenTree/status_codes.py:179 +msgid "Destroyed" +msgstr "" + +#: InvenTree/status_codes.py:181 +msgid "Rejected" +msgstr "" + +#: InvenTree/status_codes.py:229 +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:34 +msgid "Build Order reference" +msgstr "" + +#: build/forms.py:35 +msgid "Order target date" +msgstr "" + +#: build/forms.py:39 build/templates/build/build_base.html:107 +#: 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/order.js:298 +msgid "Target Date" +msgstr "" + +#: build/forms.py:40 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:1109 +#: build/templates/build/auto_allocate.html:17 +#: build/templates/build/build_base.html:94 +#: 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:420 templates/js/build.js:954 +#: templates/js/stock.js:1033 templates/js/stock.js:1271 +msgid "Quantity" +msgstr "" + +#: build/forms.py:46 +msgid "Number of items to build" +msgstr "" + +#: build/forms.py:88 +msgid "Enter quantity for build output" +msgstr "" + +#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +msgid "Serial Numbers" +msgstr "" + +#: build/forms.py:94 +msgid "Enter serial numbers for build outputs" +msgstr "" + +#: build/forms.py:100 +msgid "Confirm creation of build output" +msgstr "" + +#: build/forms.py:121 +msgid "Confirm deletion of build output" +msgstr "" + +#: build/forms.py:142 +msgid "Confirm unallocation of stock" +msgstr "" + +#: build/forms.py:166 +msgid "Confirm stock allocation" +msgstr "" + +#: build/forms.py:189 +msgid "Mark build as complete" +msgstr "" + +#: build/forms.py:213 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/stock.js:641 +msgid "Location" +msgstr "" + +#: build/forms.py:214 +msgid "Location of completed parts" +msgstr "" + +#: build/forms.py:219 +msgid "Confirm incomplete" +msgstr "" + +#: build/forms.py:220 +msgid "Confirm completion with incomplete stock allocation" +msgstr "" + +#: build/forms.py:223 +msgid "Confirm build completion" +msgstr "" + +#: build/forms.py:243 +msgid "Confirm cancel" +msgstr "" + +#: build/forms.py:243 build/views.py:66 +msgid "Confirm build cancellation" +msgstr "" + +#: build/forms.py:257 +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 +#: 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:509 templates/js/build.js:948 +msgid "Reference" +msgstr "" + +#: build/models.py:137 +msgid "Brief description of the build" +msgstr "" + +#: build/models.py:146 build/templates/build/build_base.html:124 +#: 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:89 +#: 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:681 templates/js/build.js:921 +#: 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 +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:145 +#: 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:59 +#: 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:673 +msgid "No build output specified" +msgstr "" + +#: build/models.py:676 +msgid "Build output is already completed" +msgstr "" + +#: build/models.py:679 +msgid "Build output does not match Build Order" +msgstr "" + +#: build/models.py:754 +msgid "Completed build output" +msgstr "" + +#: build/models.py:1002 +msgid "BuildItem must be unique for build, stock_item and install_into" +msgstr "" + +#: build/models.py:1024 +msgid "Build item must specify a build output" +msgstr "" + +#: build/models.py:1029 +#, python-brace-format +msgid "Selected stock item not found in BOM for part '{p}'" +msgstr "" + +#: build/models.py:1033 +#, python-brace-format +msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgstr "" + +#: build/models.py:1040 order/models.py:758 +msgid "StockItem is over-allocated" +msgstr "" + +#: build/models.py:1044 order/models.py:761 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1048 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1088 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: templates/navbar.html:29 +msgid "Build" +msgstr "" + +#: build/models.py:1089 +msgid "Build to allocate parts" +msgstr "" + +#: build/models.py:1096 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:1004 templates/js/stock.js:1262 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1097 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1110 +msgid "Stock quantity to allocate to build" +msgstr "" + +#: build/models.py:1118 +msgid "Install into" +msgstr "" + +#: build/models.py:1119 +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" +msgstr "" + +#: build/templates/build/allocate.html:21 +msgid "Build order has been completed" +msgstr "" + +#: build/templates/build/allocate.html:26 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/allocate.html:27 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/allocate.html:30 +msgid "Order required parts" +msgstr "" + +#: build/templates/build/allocate.html:31 +#: 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" +msgstr "" + +#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:49 +msgid "Create a new build output" +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" +msgstr "" + +#: build/templates/build/attachments.html:12 +#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: 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:40 +#: 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:46 +#: build/templates/build/build_base.html:111 +#: 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:55 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:59 +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 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:72 +#: build/templates/build/build_base.html:170 build/views.py:57 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:85 +#: 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:1279 +msgid "Status" +msgstr "" + +#: build/templates/build/build_base.html:111 +#, python-format +msgid "This build was due on %(target)s" +msgstr "" + +#: build/templates/build/build_base.html:118 +#: build/templates/build/detail.html:64 +msgid "Progress" +msgstr "" + +#: build/templates/build/build_base.html:131 +#: 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:138 +#: build/templates/build/detail.html:98 +#: report/templates/report/inventree_build_order_base.html:153 +msgid "Issued By" +msgstr "" + +#: build/templates/build/build_children.html:10 +#: build/templates/build/navbar.html:42 +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" +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 can be completed" +msgstr "" + +#: build/templates/build/complete.html:12 +msgid "Build cannot be completed" +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_output.html:9 +msgid "Stock allocation is complete" +msgstr "" + +#: build/templates/build/complete_output.html:13 +msgid "Stock allocation is incomplete" +msgstr "" + +#: build/templates/build/complete_output.html:19 +msgid "parts have not been fully allocated" +msgstr "" + +#: build/templates/build/complete_output.html:40 +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:718 +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:696 +#: templates/js/build.js:728 +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:657 +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:20 build/templates/build/navbar.html:23 +#: build/templates/build/parts.html:11 +msgid "Required Parts" +msgstr "" + +#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 +msgid "In Progress" +msgstr "" + +#: build/templates/build/navbar.html:45 +msgid "Child Builds" +msgstr "" + +#: build/templates/build/navbar.html:56 +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: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 +msgid "Allocated stock to build output" +msgstr "" + +#: build/views.py:180 +msgid "Create Build Output" +msgstr "" + +#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:212 +msgid "Serial numbers required for trackable build output" +msgstr "" + +#: build/views.py:278 +msgid "Delete Build Output" +msgstr "" + +#: build/views.py:299 build/views.py:383 +msgid "Confirm unallocation of build stock" +msgstr "" + +#: build/views.py:300 build/views.py:384 stock/views.py:425 +msgid "Check the confirmation box" +msgstr "" + +#: build/views.py:312 +msgid "Build output does not match build" +msgstr "" + +#: build/views.py:326 +msgid "Build output deleted" +msgstr "" + +#: build/views.py:408 +msgid "Complete Build Order" +msgstr "" + +#: build/views.py:414 +msgid "Build order cannot be completed" +msgstr "" + +#: build/views.py:425 +msgid "Completed build order" +msgstr "" + +#: build/views.py:441 +msgid "Complete Build Output" +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:573 +msgid "Build output completed" +msgstr "" + +#: build/views.py:711 +msgid "Created new build" +msgstr "" + +#: build/views.py:732 +msgid "Edit Build Order Details" +msgstr "" + +#: build/views.py:765 +msgid "Edited build" +msgstr "" + +#: build/views.py:774 +msgid "Delete Build Order" +msgstr "" + +#: build/views.py:789 +msgid "Removed parts from build allocation" +msgstr "" + +#: build/views.py:801 +msgid "Allocate stock to build output" +msgstr "" + +#: build/views.py:844 +msgid "Item must be currently in stock" +msgstr "" + +#: build/views.py:850 +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 +msgid "Available" +msgstr "" + +#: build/views.py:853 +msgid "Stock item must be selected" +msgstr "" + +#: build/views.py:1016 +msgid "Edit Stock Allocation" +msgstr "" + +#: build/views.py:1020 +msgid "Updated Build Item" +msgstr "" + +#: build/views.py:1049 +msgid "Add Build Order Attachment" +msgstr "" + +#: build/views.py:1062 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 +msgid "Edit Attachment" +msgstr "" + +#: build/views.py:1108 order/views.py:193 order/views.py:214 +msgid "Attachment updated" +msgstr "" + +#: build/views.py:1118 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 +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:411 +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: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 +msgid "Actions" +msgstr "" + +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 +#: templates/js/build.js:789 +msgid "Edit stock allocation" +msgstr "" + +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 +#: templates/js/build.js:790 +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:523 +#: templates/js/build.js:785 +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:585 +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:578 +#: templates/js/build.js:992 +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:442 +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:210 +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:934 +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:305 templates/js/build.js:1032 +msgid "No BOM items found" +msgstr "" + +#: templates/js/build.js:56 +msgid "Auto-allocate stock items to this output" +msgstr "" + +#: templates/js/build.js:62 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:71 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/build.js:77 +msgid "Delete build output" +msgstr "" + +#: templates/js/build.js:209 templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + +#: templates/js/build.js:493 +msgid "Required Part" +msgstr "" + +#: templates/js/build.js:514 +msgid "Quantity Per" +msgstr "" + +#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/stock_table.html:58 +msgid "Order stock" +msgstr "" + +#: templates/js/build.js:632 +msgid "No builds matching query" +msgstr "" + +#: templates/js/build.js:649 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 +msgid "Build order is overdue" +msgstr "" + +#: templates/js/build.js:767 +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.po b/InvenTree/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 0000000000..cd6e5258ad --- /dev/null +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,7236 @@ +# 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 12:28+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:99 build/forms.py:120 +#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: 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:677 templates/js/build.js:944 +#: 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:94 InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:228 +msgid "Pending" +msgstr "" + +#: InvenTree/status_codes.py:95 +msgid "Placed" +msgstr "" + +#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +msgid "Complete" +msgstr "" + +#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 +#: InvenTree/status_codes.py:230 +msgid "Cancelled" +msgstr "" + +#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:180 +msgid "Lost" +msgstr "" + +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 +#: InvenTree/status_codes.py:182 +msgid "Returned" +msgstr "" + +#: InvenTree/status_codes.py:136 +#: order/templates/order/sales_order_base.html:124 +msgid "Shipped" +msgstr "" + +#: InvenTree/status_codes.py:176 +msgid "OK" +msgstr "" + +#: InvenTree/status_codes.py:177 +msgid "Attention needed" +msgstr "" + +#: InvenTree/status_codes.py:178 +msgid "Damaged" +msgstr "" + +#: InvenTree/status_codes.py:179 +msgid "Destroyed" +msgstr "" + +#: InvenTree/status_codes.py:181 +msgid "Rejected" +msgstr "" + +#: InvenTree/status_codes.py:229 +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:34 +msgid "Build Order reference" +msgstr "" + +#: build/forms.py:35 +msgid "Order target date" +msgstr "" + +#: build/forms.py:39 build/templates/build/build_base.html:107 +#: 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/order.js:298 +msgid "Target Date" +msgstr "" + +#: build/forms.py:40 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:1109 +#: build/templates/build/auto_allocate.html:17 +#: build/templates/build/build_base.html:94 +#: 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:420 templates/js/build.js:954 +#: templates/js/stock.js:1033 templates/js/stock.js:1271 +msgid "Quantity" +msgstr "" + +#: build/forms.py:46 +msgid "Number of items to build" +msgstr "" + +#: build/forms.py:88 +msgid "Enter quantity for build output" +msgstr "" + +#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +msgid "Serial Numbers" +msgstr "" + +#: build/forms.py:94 +msgid "Enter serial numbers for build outputs" +msgstr "" + +#: build/forms.py:100 +msgid "Confirm creation of build output" +msgstr "" + +#: build/forms.py:121 +msgid "Confirm deletion of build output" +msgstr "" + +#: build/forms.py:142 +msgid "Confirm unallocation of stock" +msgstr "" + +#: build/forms.py:166 +msgid "Confirm stock allocation" +msgstr "" + +#: build/forms.py:189 +msgid "Mark build as complete" +msgstr "" + +#: build/forms.py:213 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/stock.js:641 +msgid "Location" +msgstr "" + +#: build/forms.py:214 +msgid "Location of completed parts" +msgstr "" + +#: build/forms.py:219 +msgid "Confirm incomplete" +msgstr "" + +#: build/forms.py:220 +msgid "Confirm completion with incomplete stock allocation" +msgstr "" + +#: build/forms.py:223 +msgid "Confirm build completion" +msgstr "" + +#: build/forms.py:243 +msgid "Confirm cancel" +msgstr "" + +#: build/forms.py:243 build/views.py:66 +msgid "Confirm build cancellation" +msgstr "" + +#: build/forms.py:257 +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 +#: 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:509 templates/js/build.js:948 +msgid "Reference" +msgstr "" + +#: build/models.py:137 +msgid "Brief description of the build" +msgstr "" + +#: build/models.py:146 build/templates/build/build_base.html:124 +#: 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:89 +#: 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:681 templates/js/build.js:921 +#: 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 +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:145 +#: 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:59 +#: 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:673 +msgid "No build output specified" +msgstr "" + +#: build/models.py:676 +msgid "Build output is already completed" +msgstr "" + +#: build/models.py:679 +msgid "Build output does not match Build Order" +msgstr "" + +#: build/models.py:754 +msgid "Completed build output" +msgstr "" + +#: build/models.py:1002 +msgid "BuildItem must be unique for build, stock_item and install_into" +msgstr "" + +#: build/models.py:1024 +msgid "Build item must specify a build output" +msgstr "" + +#: build/models.py:1029 +#, python-brace-format +msgid "Selected stock item not found in BOM for part '{p}'" +msgstr "" + +#: build/models.py:1033 +#, python-brace-format +msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgstr "" + +#: build/models.py:1040 order/models.py:758 +msgid "StockItem is over-allocated" +msgstr "" + +#: build/models.py:1044 order/models.py:761 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1048 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1088 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: templates/navbar.html:29 +msgid "Build" +msgstr "" + +#: build/models.py:1089 +msgid "Build to allocate parts" +msgstr "" + +#: build/models.py:1096 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:1004 templates/js/stock.js:1262 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1097 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1110 +msgid "Stock quantity to allocate to build" +msgstr "" + +#: build/models.py:1118 +msgid "Install into" +msgstr "" + +#: build/models.py:1119 +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" +msgstr "" + +#: build/templates/build/allocate.html:21 +msgid "Build order has been completed" +msgstr "" + +#: build/templates/build/allocate.html:26 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/allocate.html:27 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/allocate.html:30 +msgid "Order required parts" +msgstr "" + +#: build/templates/build/allocate.html:31 +#: 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" +msgstr "" + +#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:49 +msgid "Create a new build output" +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" +msgstr "" + +#: build/templates/build/attachments.html:12 +#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: 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:40 +#: 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:46 +#: build/templates/build/build_base.html:111 +#: 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:55 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:59 +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 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:72 +#: build/templates/build/build_base.html:170 build/views.py:57 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:85 +#: 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:1279 +msgid "Status" +msgstr "" + +#: build/templates/build/build_base.html:111 +#, python-format +msgid "This build was due on %(target)s" +msgstr "" + +#: build/templates/build/build_base.html:118 +#: build/templates/build/detail.html:64 +msgid "Progress" +msgstr "" + +#: build/templates/build/build_base.html:131 +#: 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:138 +#: build/templates/build/detail.html:98 +#: report/templates/report/inventree_build_order_base.html:153 +msgid "Issued By" +msgstr "" + +#: build/templates/build/build_children.html:10 +#: build/templates/build/navbar.html:42 +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" +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 can be completed" +msgstr "" + +#: build/templates/build/complete.html:12 +msgid "Build cannot be completed" +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_output.html:9 +msgid "Stock allocation is complete" +msgstr "" + +#: build/templates/build/complete_output.html:13 +msgid "Stock allocation is incomplete" +msgstr "" + +#: build/templates/build/complete_output.html:19 +msgid "parts have not been fully allocated" +msgstr "" + +#: build/templates/build/complete_output.html:40 +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:718 +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:696 +#: templates/js/build.js:728 +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:657 +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:20 build/templates/build/navbar.html:23 +#: build/templates/build/parts.html:11 +msgid "Required Parts" +msgstr "" + +#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 +msgid "In Progress" +msgstr "" + +#: build/templates/build/navbar.html:45 +msgid "Child Builds" +msgstr "" + +#: build/templates/build/navbar.html:56 +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: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 +msgid "Allocated stock to build output" +msgstr "" + +#: build/views.py:180 +msgid "Create Build Output" +msgstr "" + +#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:212 +msgid "Serial numbers required for trackable build output" +msgstr "" + +#: build/views.py:278 +msgid "Delete Build Output" +msgstr "" + +#: build/views.py:299 build/views.py:383 +msgid "Confirm unallocation of build stock" +msgstr "" + +#: build/views.py:300 build/views.py:384 stock/views.py:425 +msgid "Check the confirmation box" +msgstr "" + +#: build/views.py:312 +msgid "Build output does not match build" +msgstr "" + +#: build/views.py:326 +msgid "Build output deleted" +msgstr "" + +#: build/views.py:408 +msgid "Complete Build Order" +msgstr "" + +#: build/views.py:414 +msgid "Build order cannot be completed" +msgstr "" + +#: build/views.py:425 +msgid "Completed build order" +msgstr "" + +#: build/views.py:441 +msgid "Complete Build Output" +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:573 +msgid "Build output completed" +msgstr "" + +#: build/views.py:711 +msgid "Created new build" +msgstr "" + +#: build/views.py:732 +msgid "Edit Build Order Details" +msgstr "" + +#: build/views.py:765 +msgid "Edited build" +msgstr "" + +#: build/views.py:774 +msgid "Delete Build Order" +msgstr "" + +#: build/views.py:789 +msgid "Removed parts from build allocation" +msgstr "" + +#: build/views.py:801 +msgid "Allocate stock to build output" +msgstr "" + +#: build/views.py:844 +msgid "Item must be currently in stock" +msgstr "" + +#: build/views.py:850 +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 +msgid "Available" +msgstr "" + +#: build/views.py:853 +msgid "Stock item must be selected" +msgstr "" + +#: build/views.py:1016 +msgid "Edit Stock Allocation" +msgstr "" + +#: build/views.py:1020 +msgid "Updated Build Item" +msgstr "" + +#: build/views.py:1049 +msgid "Add Build Order Attachment" +msgstr "" + +#: build/views.py:1062 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 +msgid "Edit Attachment" +msgstr "" + +#: build/views.py:1108 order/views.py:193 order/views.py:214 +msgid "Attachment updated" +msgstr "" + +#: build/views.py:1118 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 +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:411 +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: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 +msgid "Actions" +msgstr "" + +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 +#: templates/js/build.js:789 +msgid "Edit stock allocation" +msgstr "" + +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 +#: templates/js/build.js:790 +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:523 +#: templates/js/build.js:785 +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:585 +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:578 +#: templates/js/build.js:992 +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:442 +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:210 +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:934 +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:305 templates/js/build.js:1032 +msgid "No BOM items found" +msgstr "" + +#: templates/js/build.js:56 +msgid "Auto-allocate stock items to this output" +msgstr "" + +#: templates/js/build.js:62 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:71 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/build.js:77 +msgid "Delete build output" +msgstr "" + +#: templates/js/build.js:209 templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + +#: templates/js/build.js:493 +msgid "Required Part" +msgstr "" + +#: templates/js/build.js:514 +msgid "Quantity Per" +msgstr "" + +#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/stock_table.html:58 +msgid "Order stock" +msgstr "" + +#: templates/js/build.js:632 +msgid "No builds matching query" +msgstr "" + +#: templates/js/build.js:649 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 +msgid "Build order is overdue" +msgstr "" + +#: templates/js/build.js:767 +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.po b/InvenTree/locale/zh/LC_MESSAGES/django.po new file mode 100644 index 0000000000..9a86c89cfe --- /dev/null +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -0,0 +1,7233 @@ +# 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 12:28+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:99 build/forms.py:120 +#: build/forms.py:142 build/forms.py:166 build/forms.py:188 build/forms.py:223 +#: 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:677 templates/js/build.js:944 +#: 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:94 InvenTree/status_codes.py:135 +#: InvenTree/status_codes.py:228 +msgid "Pending" +msgstr "" + +#: InvenTree/status_codes.py:95 +msgid "Placed" +msgstr "" + +#: InvenTree/status_codes.py:96 InvenTree/status_codes.py:231 +msgid "Complete" +msgstr "" + +#: InvenTree/status_codes.py:97 InvenTree/status_codes.py:137 +#: InvenTree/status_codes.py:230 +msgid "Cancelled" +msgstr "" + +#: InvenTree/status_codes.py:98 InvenTree/status_codes.py:138 +#: InvenTree/status_codes.py:180 +msgid "Lost" +msgstr "" + +#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:139 +#: InvenTree/status_codes.py:182 +msgid "Returned" +msgstr "" + +#: InvenTree/status_codes.py:136 +#: order/templates/order/sales_order_base.html:124 +msgid "Shipped" +msgstr "" + +#: InvenTree/status_codes.py:176 +msgid "OK" +msgstr "" + +#: InvenTree/status_codes.py:177 +msgid "Attention needed" +msgstr "" + +#: InvenTree/status_codes.py:178 +msgid "Damaged" +msgstr "" + +#: InvenTree/status_codes.py:179 +msgid "Destroyed" +msgstr "" + +#: InvenTree/status_codes.py:181 +msgid "Rejected" +msgstr "" + +#: InvenTree/status_codes.py:229 +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:34 +msgid "Build Order reference" +msgstr "" + +#: build/forms.py:35 +msgid "Order target date" +msgstr "" + +#: build/forms.py:39 build/templates/build/build_base.html:107 +#: 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/order.js:298 +msgid "Target Date" +msgstr "" + +#: build/forms.py:40 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:1109 +#: build/templates/build/auto_allocate.html:17 +#: build/templates/build/build_base.html:94 +#: 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:420 templates/js/build.js:954 +#: templates/js/stock.js:1033 templates/js/stock.js:1271 +msgid "Quantity" +msgstr "" + +#: build/forms.py:46 +msgid "Number of items to build" +msgstr "" + +#: build/forms.py:88 +msgid "Enter quantity for build output" +msgstr "" + +#: build/forms.py:92 order/forms.py:233 stock/forms.py:118 +msgid "Serial Numbers" +msgstr "" + +#: build/forms.py:94 +msgid "Enter serial numbers for build outputs" +msgstr "" + +#: build/forms.py:100 +msgid "Confirm creation of build output" +msgstr "" + +#: build/forms.py:121 +msgid "Confirm deletion of build output" +msgstr "" + +#: build/forms.py:142 +msgid "Confirm unallocation of stock" +msgstr "" + +#: build/forms.py:166 +msgid "Confirm stock allocation" +msgstr "" + +#: build/forms.py:189 +msgid "Mark build as complete" +msgstr "" + +#: build/forms.py:213 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/stock.js:641 +msgid "Location" +msgstr "" + +#: build/forms.py:214 +msgid "Location of completed parts" +msgstr "" + +#: build/forms.py:219 +msgid "Confirm incomplete" +msgstr "" + +#: build/forms.py:220 +msgid "Confirm completion with incomplete stock allocation" +msgstr "" + +#: build/forms.py:223 +msgid "Confirm build completion" +msgstr "" + +#: build/forms.py:243 +msgid "Confirm cancel" +msgstr "" + +#: build/forms.py:243 build/views.py:66 +msgid "Confirm build cancellation" +msgstr "" + +#: build/forms.py:257 +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 +#: 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:509 templates/js/build.js:948 +msgid "Reference" +msgstr "" + +#: build/models.py:137 +msgid "Brief description of the build" +msgstr "" + +#: build/models.py:146 build/templates/build/build_base.html:124 +#: 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:89 +#: 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:681 templates/js/build.js:921 +#: 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 +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:145 +#: 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:59 +#: 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:673 +msgid "No build output specified" +msgstr "" + +#: build/models.py:676 +msgid "Build output is already completed" +msgstr "" + +#: build/models.py:679 +msgid "Build output does not match Build Order" +msgstr "" + +#: build/models.py:754 +msgid "Completed build output" +msgstr "" + +#: build/models.py:1002 +msgid "BuildItem must be unique for build, stock_item and install_into" +msgstr "" + +#: build/models.py:1024 +msgid "Build item must specify a build output" +msgstr "" + +#: build/models.py:1029 +#, python-brace-format +msgid "Selected stock item not found in BOM for part '{p}'" +msgstr "" + +#: build/models.py:1033 +#, python-brace-format +msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" +msgstr "" + +#: build/models.py:1040 order/models.py:758 +msgid "StockItem is over-allocated" +msgstr "" + +#: build/models.py:1044 order/models.py:761 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1048 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1088 stock/templates/stock/item_base.html:306 +#: templates/InvenTree/search.html:183 templates/js/build.js:655 +#: templates/navbar.html:29 +msgid "Build" +msgstr "" + +#: build/models.py:1089 +msgid "Build to allocate parts" +msgstr "" + +#: build/models.py:1096 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:1004 templates/js/stock.js:1262 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1097 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1110 +msgid "Stock quantity to allocate to build" +msgstr "" + +#: build/models.py:1118 +msgid "Install into" +msgstr "" + +#: build/models.py:1119 +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" +msgstr "" + +#: build/templates/build/allocate.html:21 +msgid "Build order has been completed" +msgstr "" + +#: build/templates/build/allocate.html:26 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/allocate.html:27 +msgid "Create New Output" +msgstr "" + +#: build/templates/build/allocate.html:30 +msgid "Order required parts" +msgstr "" + +#: build/templates/build/allocate.html:31 +#: 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" +msgstr "" + +#: build/templates/build/allocate.html:35 build/views.py:338 build/views.py:784 +msgid "Unallocate Stock" +msgstr "" + +#: build/templates/build/allocate.html:49 +msgid "Create a new build output" +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" +msgstr "" + +#: build/templates/build/attachments.html:12 +#: build/templates/build/navbar.html:49 build/templates/build/navbar.html:52 +#: 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:40 +#: 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:46 +#: build/templates/build/build_base.html:111 +#: 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:55 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:59 +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 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:72 +#: build/templates/build/build_base.html:170 build/views.py:57 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:85 +#: 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:1279 +msgid "Status" +msgstr "" + +#: build/templates/build/build_base.html:111 +#, python-format +msgid "This build was due on %(target)s" +msgstr "" + +#: build/templates/build/build_base.html:118 +#: build/templates/build/detail.html:64 +msgid "Progress" +msgstr "" + +#: build/templates/build/build_base.html:131 +#: 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:138 +#: build/templates/build/detail.html:98 +#: report/templates/report/inventree_build_order_base.html:153 +msgid "Issued By" +msgstr "" + +#: build/templates/build/build_children.html:10 +#: build/templates/build/navbar.html:42 +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" +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 can be completed" +msgstr "" + +#: build/templates/build/complete.html:12 +msgid "Build cannot be completed" +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_output.html:9 +msgid "Stock allocation is complete" +msgstr "" + +#: build/templates/build/complete_output.html:13 +msgid "Stock allocation is incomplete" +msgstr "" + +#: build/templates/build/complete_output.html:19 +msgid "parts have not been fully allocated" +msgstr "" + +#: build/templates/build/complete_output.html:40 +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:718 +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:696 +#: templates/js/build.js:728 +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:657 +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:20 build/templates/build/navbar.html:23 +#: build/templates/build/parts.html:11 +msgid "Required Parts" +msgstr "" + +#: build/templates/build/navbar.html:27 build/templates/build/navbar.html:30 +msgid "In Progress" +msgstr "" + +#: build/templates/build/navbar.html:45 +msgid "Child Builds" +msgstr "" + +#: build/templates/build/navbar.html:56 +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: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 +msgid "Allocated stock to build output" +msgstr "" + +#: build/views.py:180 +msgid "Create Build Output" +msgstr "" + +#: build/views.py:203 stock/models.py:969 stock/views.py:1789 +msgid "Serial numbers already exist" +msgstr "" + +#: build/views.py:212 +msgid "Serial numbers required for trackable build output" +msgstr "" + +#: build/views.py:278 +msgid "Delete Build Output" +msgstr "" + +#: build/views.py:299 build/views.py:383 +msgid "Confirm unallocation of build stock" +msgstr "" + +#: build/views.py:300 build/views.py:384 stock/views.py:425 +msgid "Check the confirmation box" +msgstr "" + +#: build/views.py:312 +msgid "Build output does not match build" +msgstr "" + +#: build/views.py:326 +msgid "Build output deleted" +msgstr "" + +#: build/views.py:408 +msgid "Complete Build Order" +msgstr "" + +#: build/views.py:414 +msgid "Build order cannot be completed" +msgstr "" + +#: build/views.py:425 +msgid "Completed build order" +msgstr "" + +#: build/views.py:441 +msgid "Complete Build Output" +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:573 +msgid "Build output completed" +msgstr "" + +#: build/views.py:711 +msgid "Created new build" +msgstr "" + +#: build/views.py:732 +msgid "Edit Build Order Details" +msgstr "" + +#: build/views.py:765 +msgid "Edited build" +msgstr "" + +#: build/views.py:774 +msgid "Delete Build Order" +msgstr "" + +#: build/views.py:789 +msgid "Removed parts from build allocation" +msgstr "" + +#: build/views.py:801 +msgid "Allocate stock to build output" +msgstr "" + +#: build/views.py:844 +msgid "Item must be currently in stock" +msgstr "" + +#: build/views.py:850 +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 +msgid "Available" +msgstr "" + +#: build/views.py:853 +msgid "Stock item must be selected" +msgstr "" + +#: build/views.py:1016 +msgid "Edit Stock Allocation" +msgstr "" + +#: build/views.py:1020 +msgid "Updated Build Item" +msgstr "" + +#: build/views.py:1049 +msgid "Add Build Order Attachment" +msgstr "" + +#: build/views.py:1062 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 +msgid "Edit Attachment" +msgstr "" + +#: build/views.py:1108 order/views.py:193 order/views.py:214 +msgid "Attachment updated" +msgstr "" + +#: build/views.py:1118 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 +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:411 +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: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 +msgid "Actions" +msgstr "" + +#: order/templates/order/sales_order_detail.html:99 templates/js/build.js:459 +#: templates/js/build.js:789 +msgid "Edit stock allocation" +msgstr "" + +#: order/templates/order/sales_order_detail.html:100 templates/js/build.js:461 +#: templates/js/build.js:790 +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:523 +#: templates/js/build.js:785 +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:585 +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:578 +#: templates/js/build.js:992 +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:442 +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:210 +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:934 +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:305 templates/js/build.js:1032 +msgid "No BOM items found" +msgstr "" + +#: templates/js/build.js:56 +msgid "Auto-allocate stock items to this output" +msgstr "" + +#: templates/js/build.js:62 +msgid "Complete build output" +msgstr "" + +#: templates/js/build.js:71 +msgid "Unallocate stock from build output" +msgstr "" + +#: templates/js/build.js:77 +msgid "Delete build output" +msgstr "" + +#: templates/js/build.js:209 templates/stock_table.html:20 +msgid "New Stock Item" +msgstr "" + +#: templates/js/build.js:493 +msgid "Required Part" +msgstr "" + +#: templates/js/build.js:514 +msgid "Quantity Per" +msgstr "" + +#: templates/js/build.js:582 templates/js/build.js:996 +#: templates/stock_table.html:58 +msgid "Order stock" +msgstr "" + +#: templates/js/build.js:632 +msgid "No builds matching query" +msgstr "" + +#: templates/js/build.js:649 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 +msgid "Build order is overdue" +msgstr "" + +#: templates/js/build.js:767 +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/tasks.py b/tasks.py index d775b943a0..316e9b4bfb 100644 --- a/tasks.py +++ b/tasks.py @@ -174,7 +174,7 @@ def update(c): """ pass -@task +@task(post=[static]) def translate(c): """ Regenerate translation files. @@ -184,7 +184,7 @@ def translate(c): """ # Translate applicable .py / .html / .js files - manage(c, "makemessages -e py -e html -e js") + manage(c, "makemessages --all -e py,html,js") manage(c, "compilemessages") path = os.path.join('InvenTree', 'script', 'translation_stats.py') From 096403b429228e3f67340cc2966f3c344e59a5f1 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 21 Apr 2021 12:37:20 +1000 Subject: [PATCH 24/40] CI file fixes --- .github/workflows/coverage.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index 17a8369822..f42c3ad7fa 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -43,7 +43,6 @@ jobs: invoke migrate invoke import-records -f data.json - name: Test Translations - # This will test both the translation and collectstatic functions run: invoke translate - name: Check Migration Files run: python3 ci/check_migration_files.py From 043d929dbbda01412f59fc232cfe039689833cfc Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 21 Apr 2021 12:57:54 +1000 Subject: [PATCH 25/40] Fix proper good --- .github/workflows/coverage.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index f42c3ad7fa..236f222117 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -42,8 +42,8 @@ jobs: rm test_db.sqlite invoke migrate invoke import-records -f data.json - - name: Test Translations - run: invoke translate + - name: Test Translations + run: invoke translate - name: Check Migration Files run: python3 ci/check_migration_files.py - name: Upload Coverage Report From 64c29d73cc0809a6687ac17e29dda74c1867ba34 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 21 Apr 2021 13:11:57 +1000 Subject: [PATCH 26/40] gettext required for translation --- .github/workflows/coverage.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index 236f222117..eb588e25c9 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -29,6 +29,7 @@ jobs: - name: Install Dependencies run: | sudo apt-get update + sudo apt-get install gettext pip3 install invoke invoke install - name: Coverage Tests From 9e470d4064084b96730a4006321203f635be508a Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 18 Apr 2021 21:41:34 +1000 Subject: [PATCH 27/40] Add separate section for "untracked" part allocation --- InvenTree/build/api.py | 8 +- InvenTree/build/forms.py | 6 - InvenTree/build/models.py | 72 ++++++++---- InvenTree/build/templates/build/allocate.html | 38 +++++++ InvenTree/build/templates/build/navbar.html | 2 +- InvenTree/build/views.py | 62 +++++------ InvenTree/templates/js/build.js | 104 ++++++++++++------ 7 files changed, 191 insertions(+), 101 deletions(-) diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index e6331f2b6a..10cc7e2024 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -11,7 +11,7 @@ from rest_framework import generics from django.conf.urls import url, include -from InvenTree.helpers import str2bool +from InvenTree.helpers import str2bool, isNull from InvenTree.status_codes import BuildStatus from .models import Build, BuildItem @@ -194,7 +194,11 @@ class BuildItemList(generics.ListCreateAPIView): output = params.get('output', None) if output: - queryset = queryset.filter(install_into=output) + + if isNull(output): + queryset = queryset.filter(install_into=None) + else: + queryset = queryset.filter(install_into=output) return queryset diff --git a/InvenTree/build/forms.py b/InvenTree/build/forms.py index 0726779b87..d4f5e23ce7 100644 --- a/InvenTree/build/forms.py +++ b/InvenTree/build/forms.py @@ -165,16 +165,10 @@ class AutoAllocateForm(HelperForm): confirm = forms.BooleanField(required=True, label=_('Confirm'), help_text=_('Confirm stock allocation')) - # Keep track of which build output we are interested in - output = forms.ModelChoiceField( - queryset=StockItem.objects.all(), - ) - class Meta: model = Build fields = [ 'confirm', - 'output', ] diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 5a23752071..0fc92ce045 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -489,7 +489,7 @@ class Build(MPTTModel): self.status = BuildStatus.CANCELLED self.save() - def getAutoAllocations(self, output): + def getAutoAllocations(self): """ Return a list of StockItem objects which will be allocated using the 'AutoAllocate' function. @@ -521,15 +521,19 @@ class Build(MPTTModel): part = bom_item.sub_part + # If the part is "trackable" it cannot be auto-allocated + if part.trackable: + continue + # Skip any parts which are already fully allocated - if self.isPartFullyAllocated(part, output): + if self.isPartFullyAllocated(part, None): continue # How many parts are required to complete the output? - required = self.unallocatedQuantity(part, output) + required = self.unallocatedQuantity(part, None) # Grab a list of stock items which are available - stock_items = self.availableStockItems(part, output) + stock_items = self.availableStockItems(part, None) # Ensure that the available stock items are in the correct location if self.take_from is not None: @@ -544,7 +548,6 @@ class Build(MPTTModel): build_items = BuildItem.objects.filter( build=self, stock_item=stock_item, - install_into=output ) if len(build_items) > 0: @@ -567,24 +570,45 @@ class Build(MPTTModel): return allocations @transaction.atomic - def unallocateStock(self, output=None, part=None): + def unallocateOutput(self, output, part=None): """ - Deletes all stock allocations for this build. - - Args: - output: Specify which build output to delete allocations (optional) - + Unallocate all stock which are allocated against the provided "output" (StockItem) """ - allocations = BuildItem.objects.filter(build=self.pk) - - if output: - allocations = allocations.filter(install_into=output.pk) + allocations = BuildItem.objects.filter( + build=self, + install_into=output + ) if part: allocations = allocations.filter(stock_item__part=part) - # Remove all the allocations + allocations.delete() + + @transaction.atomic + def unallocateUntracked(self, part=None): + """ + Unallocate all "untracked" stock + """ + + allocations = BuildItem.objects.filter( + build=self, + install_into=None + ) + + if part: + allocations = allocations.filter(stock_item__part=part) + + allocations.delete() + + @transaction.atomic + def unallocateAll(self): + """ + Deletes all stock allocations for this build. + """ + + allocations = BuildItem.objects.filter(build=self) + allocations.delete() @transaction.atomic @@ -685,7 +709,7 @@ class Build(MPTTModel): output.delete() @transaction.atomic - def autoAllocate(self, output): + def autoAllocate(self): """ Run auto-allocation routine to allocate StockItems to this Build. @@ -702,7 +726,7 @@ class Build(MPTTModel): See: getAutoAllocations() """ - allocations = self.getAutoAllocations(output) + allocations = self.getAutoAllocations() for item in allocations: # Create a new allocation @@ -710,7 +734,7 @@ class Build(MPTTModel): build=self, stock_item=item['stock_item'], quantity=item['quantity'], - install_into=output, + install_into=None ) build_item.save() @@ -779,7 +803,7 @@ class Build(MPTTModel): if output: quantity *= output.quantity else: - quantity *= self.remaining + quantity *= self.quantity return quantity @@ -1020,10 +1044,12 @@ class BuildItem(models.Model): errors = {} - if not self.install_into: - raise ValidationError(_('Build item must specify a build output')) - try: + + # If the 'part' is trackable, then the 'install_into' field must be set! + if self.stock_item.part and self.stock_item.part.trackable and not self.install_into: + raise ValidationError(_('Build item must specify a build output, as master part is marked as trackable')) + # Allocated part must be in the BOM for the master part if self.stock_item.part not in self.build.part.getRequiredParts(recursive=False): errors['stock_item'] = [_("Selected stock item not found in BOM for part '{p}'").format(p=self.build.part.full_name)] diff --git a/InvenTree/build/templates/build/allocate.html b/InvenTree/build/templates/build/allocate.html index 1b66f17d0d..fb4a8200e7 100644 --- a/InvenTree/build/templates/build/allocate.html +++ b/InvenTree/build/templates/build/allocate.html @@ -38,6 +38,41 @@
    + +
    + +
    +
    +
    +
    +
    +
    + +
    + {% if build.incomplete_outputs %}
    {% for item in build.incomplete_outputs %} @@ -66,6 +101,9 @@ part: {{ build.part.pk }}, }; + // Load allocation table for un-tracked parts + loadBuildOutputAllocationTable(buildInfo, null); + {% for item in build.incomplete_outputs %} // Get the build output as a javascript object inventreeGet('{% url 'api-stock-detail' item.pk %}', {}, diff --git a/InvenTree/build/templates/build/navbar.html b/InvenTree/build/templates/build/navbar.html index 5e27010861..383f3c843f 100644 --- a/InvenTree/build/templates/build/navbar.html +++ b/InvenTree/build/templates/build/navbar.html @@ -27,7 +27,7 @@
  • - {% trans "In Progress" %} + {% trans "Allocate Stock" %}
  • {% endif %} diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index 15ced77130..c467d374ba 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -18,7 +18,7 @@ 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.helpers import str2bool, extract_serial_numbers, normalize, isNull from InvenTree.status_codes import BuildStatus @@ -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): @@ -121,16 +111,7 @@ class BuildAutoAllocate(AjaxUpdateView): 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 +121,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 +133,7 @@ class BuildAutoAllocate(AjaxUpdateView): perform auto-allocations """ - output = form.cleaned_data.get('output', None) - - build.autoAllocate(output) + build.autoAllocate() def get_data(self): return { @@ -365,10 +337,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 +361,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, } diff --git a/InvenTree/templates/js/build.js b/InvenTree/templates/js/build.js index 539d1565aa..cdfd6756aa 100644 --- a/InvenTree/templates/js/build.js +++ b/InvenTree/templates/js/build.js @@ -37,7 +37,12 @@ function makeBuildOutputActionButtons(output, buildInfo) { */ var buildId = buildInfo.pk; - var outputId = output.pk; + + if (output) { + outputId = output.pk; + } else { + outputId = 'untracked'; + } var panel = `#allocation-panel-${outputId}`; @@ -50,35 +55,40 @@ function makeBuildOutputActionButtons(output, buildInfo) { var html = `
    `; - // Add a button to "auto allocate" against the build - html += makeIconButton( - 'fa-magic icon-blue', 'button-output-auto', outputId, - '{% trans "Auto-allocate stock items to this output" %}', - ); - - // Add a button to "complete" the particular build output - html += makeIconButton( - 'fa-check icon-green', 'button-output-complete', outputId, - '{% trans "Complete build output" %}', - { - //disabled: true - } - ); + // "Auto" allocation only works for untracked stock items + if (!output) { + html += makeIconButton( + 'fa-magic icon-blue', 'button-output-auto', outputId, + '{% trans "Auto-allocate stock items to this output" %}', + ); + } // Add a button to "cancel" the particular build output (unallocate) html += makeIconButton( 'fa-minus-circle icon-red', 'button-output-unallocate', outputId, '{% trans "Unallocate stock from build output" %}', - ); + ); - // Add a button to "delete" the particular build output - html += makeIconButton( - 'fa-trash-alt icon-red', 'button-output-delete', outputId, - '{% trans "Delete build output" %}', - ); - // Add a button to "destroy" the particular build output (mark as damaged, scrap) - // TODO + if (output) { + + // Add a button to "complete" the particular build output + html += makeIconButton( + 'fa-check icon-green', 'button-output-complete', outputId, + '{% trans "Complete build output" %}', + { + //disabled: true + } + ); + + // Add a button to "delete" the particular build output + html += makeIconButton( + 'fa-trash-alt icon-red', 'button-output-delete', outputId, + '{% trans "Delete build output" %}', + ); + + // TODO - Add a button to "destroy" the particular build output (mark as damaged, scrap) + } html += '
    '; @@ -90,7 +100,6 @@ function makeBuildOutputActionButtons(output, buildInfo) { launchModalForm(`/build/${buildId}/auto-allocate/`, { data: { - output: outputId, }, success: reloadTable, } @@ -115,7 +124,7 @@ function makeBuildOutputActionButtons(output, buildInfo) { { success: reloadTable, data: { - output: outputId, + output: output ? outputId : 'null', } } ); @@ -152,13 +161,21 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { var outputId = null; - outputId = output.pk; + if (output) { + outputId = output.pk; + } else { + outputId = 'untracked'; + } var table = options.table; if (options.table == null) { table = `#allocation-table-${outputId}`; } + + // If an "output" is specified, then only "trackable" parts are allocated + // Otherwise, only "untrackable" parts are allowed + var trackable = ! !output; function reloadTable() { // Reload the entire build allocation table @@ -168,7 +185,13 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { function requiredQuantity(row) { // Return the requied quantity for a given row - return row.quantity * output.quantity; + if (output) { + // "Tracked" parts are calculated against individual build outputs + return row.quantity * output.quantity; + } else { + // "Untracked" parts are specified against the build itself + return row.quantity * buildInfo.quantity; + } } function sumAllocations(row) { @@ -300,6 +323,7 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { queryParams: { part: partId, sub_part_detail: true, + sub_part_trackable: trackable, }, formatNoMatches: function() { return '{% trans "No BOM items found" %}'; @@ -310,11 +334,19 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { onLoadSuccess: function(tableData) { // Once the BOM data are loaded, request allocation data for this build output + var params = { + build: buildId, + } + + if (output) { + params.sub_part_trackable = true; + params.output = outputId; + } else { + params.sub_part_trackable = false; + } + inventreeGet('/api/build/item/', - { - build: buildId, - output: outputId, - }, + params, { success: function(data) { // Iterate through the returned data, and group by the part they point to @@ -355,8 +387,16 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) { // Calculate the total allocated quantity var allocatedQuantity = sumAllocations(tableRow); + var requiredQuantity = 0; + + if (output) { + requiredQuantity = tableRow.quantity * output.quantity; + } else { + requiredQuantity = tableRow.quantity * buildInfo.quantity; + } + // Is this line item fully allocated? - if (allocatedQuantity >= (tableRow.quantity * output.quantity)) { + if (allocatedQuantity >= requiredQuantity) { allocatedLines += 1; } From f0595cc05202b8391bc78f056e51c06278907f41 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 18 Apr 2021 21:44:57 +1000 Subject: [PATCH 28/40] Fix for display of "outstanding" allocations --- InvenTree/build/models.py | 8 ++++++++ InvenTree/build/templates/build/complete_output.html | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 0fc92ce045..b9167b2eb0 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -897,6 +897,14 @@ class Build(MPTTModel): for bom_item in self.bom_items: part = bom_item.sub_part + # Ignore "trackable" when output is specified + if output and not part.trackable: + continue + + # Ignore "untrackable" parts when output is not specified + if not output and part.trackable: + continue + if not self.isPartFullyAllocated(part, output): unallocated.append(part) diff --git a/InvenTree/build/templates/build/complete_output.html b/InvenTree/build/templates/build/complete_output.html index 54c3fc6763..806677c50c 100644 --- a/InvenTree/build/templates/build/complete_output.html +++ b/InvenTree/build/templates/build/complete_output.html @@ -16,7 +16,7 @@
    From 16b01ed772e3cd97bfba3509dc87dba05e845f2a Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 20 Apr 2021 13:21:23 +1000 Subject: [PATCH 29/40] significant rework of the build allocation tables / views --- InvenTree/build/models.py | 36 ++++++ InvenTree/build/templates/build/allocate.html | 112 ++++-------------- .../templates/build/allocation_card.html | 12 +- .../build/templates/build/build_output.html | 78 +++++++++++- InvenTree/build/templates/build/navbar.html | 8 +- InvenTree/build/templates/build/parts.html | 30 ----- InvenTree/build/urls.py | 1 - InvenTree/build/views.py | 4 +- InvenTree/templates/js/build.js | 39 +++--- InvenTree/templates/two_column.html | 4 + 10 files changed, 176 insertions(+), 148 deletions(-) delete mode 100644 InvenTree/build/templates/build/parts.html diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index b9167b2eb0..963401a543 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -314,6 +314,42 @@ class Build(MPTTModel): 'sub_part' ) + @property + def tracked_bom_items(self): + """ + Returns the "trackable" BOM items for this BuildOrder + """ + + items = self.bom_items + items = items.filter(sub_part__trackable=True) + + return items + + def has_tracked_bom_items(self): + """ + Returns True if this BuildOrder has trackable BomItems + """ + + return self.tracked_bom_items.count() > 0 + + @property + def untracked_bom_items(self): + """ + Returns the "non trackable" BOM items for this BuildOrder + """ + + items = self.bom_items + items = items.filter(sub_part__trackable=False) + + return items + + def has_untracked_bom_items(self): + """ + Returns True if this BuildOrder has non trackable BomItems + """ + + return self.untracked_bom_items.count() > 0 + @property def remaining(self): """ diff --git a/InvenTree/build/templates/build/allocate.html b/InvenTree/build/templates/build/allocate.html index fb4a8200e7..a1e1ff2f8e 100644 --- a/InvenTree/build/templates/build/allocate.html +++ b/InvenTree/build/templates/build/allocate.html @@ -12,83 +12,32 @@ {% endblock %} {% block heading %} -{% trans "Incomplete Build Ouputs" %} +{% trans "Allocate Stock to Build" %} {% endblock %} {% block details %} -{% if build.is_complete %} -
    - {% trans "Build order has been completed" %} -
    -{% else %} +{% if build.has_untracked_bom_items %} +{% if build.active %}
    - {% if build.active %} - - - {% endif %} -
    - -
    - -
    - -
    -
    -
    -
    -
    -
    - -
    - -{% if build.incomplete_outputs %} -
    - {% for item in build.incomplete_outputs %} - {% include "build/allocation_card.html" with item=item %} - {% endfor %} -
    -{% else %} -
    - {% trans "Create a new build output" %}
    - {% trans "No incomplete build outputs remain." %}
    - {% trans "Create a new build output using the button above" %} + +
    +{% endif %} +
    +{% else %} +
    + {% trans "This Build Order does not have any associated untracked BOM items" %}
    {% endif %} - -{% endif %} - {% endblock %} {% block js_ready %} @@ -101,22 +50,17 @@ part: {{ build.part.pk }}, }; + {% if build.has_untracked_bom_items %} // Load allocation table for un-tracked parts loadBuildOutputAllocationTable(buildInfo, null); + {% endif %} - {% for item in build.incomplete_outputs %} - // Get the build output as a javascript object - inventreeGet('{% url 'api-stock-detail' item.pk %}', {}, - { - success: function(response) { - loadBuildOutputAllocationTable(buildInfo, response); - } - } - ); - {% endfor %} + function reloadTable() { + $('#allocation-table-untracked').bootstrapTable('refresh'); + } {% if build.active %} - $("#btn-allocate").on('click', function() { + $("#btn-auto-allocate").on('click', function() { launchModalForm( "{% url 'build-auto-allocate' build.id %}", { @@ -124,20 +68,12 @@ } ); }); - + $('#btn-unallocate').on('click', function() { launchModalForm( "{% url 'build-unallocate' build.id %}", { - reload: true, - } - ); - }); - - $('#btn-create-output').click(function() { - launchModalForm('{% url "build-output-create" build.id %}', - { - reload: true, + success: reloadTable, } ); }); diff --git a/InvenTree/build/templates/build/allocation_card.html b/InvenTree/build/templates/build/allocation_card.html index 650257bb0d..3ce4a52aeb 100644 --- a/InvenTree/build/templates/build/allocation_card.html +++ b/InvenTree/build/templates/build/allocation_card.html @@ -7,23 +7,31 @@